matlab如何把2维矩阵短的那一维补0?
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/26 21:58:05
matlab如何把2维矩阵短的那一维补0?
比如一个2x4矩阵A=[1 1 1 1; 1 1 1 1],目标是把A变成4x4矩阵B=[0 0 0 0;1 1 1 1;1 1 1 1;0 0 0 0],即把A放在中间,外面补0.但A有时是2x4,有时是4x2,即需要补0的那一维不确定.我现在是用if来实现,if size(A,1) < size(A,2) 在外侧补2个横行0; else 在外侧补2个竖行0.补0的命令行业比较麻烦:B(((size(A,2)-size(A,1))/2+1:(size(A,2)-(size(A,2)-size(A,1))/2),:)=A.这是我目前的方法.有没有一个简单且一般方法可以实现这一目标,无论2位矩阵A是2x4还是4x2?
比如一个2x4矩阵A=[1 1 1 1; 1 1 1 1],目标是把A变成4x4矩阵B=[0 0 0 0;1 1 1 1;1 1 1 1;0 0 0 0],即把A放在中间,外面补0.但A有时是2x4,有时是4x2,即需要补0的那一维不确定.我现在是用if来实现,if size(A,1) < size(A,2) 在外侧补2个横行0; else 在外侧补2个竖行0.补0的命令行业比较麻烦:B(((size(A,2)-size(A,1))/2+1:(size(A,2)-(size(A,2)-size(A,1))/2),:)=A.这是我目前的方法.有没有一个简单且一般方法可以实现这一目标,无论2位矩阵A是2x4还是4x2?
试试这个
function B = getB(A)
B = zeros(length(A));
B(length(A)+1:length(A)*3) = A;
if size(A,1) < size(A,2)
B = B';
end
用法
A=[1 1 1 1; 1 1 1 1];
B = getB(A);
或者更直接的
if size(A,1)
function B = getB(A)
B = zeros(length(A));
B(length(A)+1:length(A)*3) = A;
if size(A,1) < size(A,2)
B = B';
end
用法
A=[1 1 1 1; 1 1 1 1];
B = getB(A);
或者更直接的
if size(A,1)
matlab如何把2维矩阵短的那一维补0?
matlab中如何把m序列转成2维矩阵,或者是把余弦函数转成一维矩阵
matlab 如何把两个矩阵中相同值的元素设为0
matlab如何把2个方程放到一个一行2列的矩阵中求解
matlab 如何把三维矩阵拼接
matlab 弄一个空矩阵,如何把输出的数据放到空矩阵里面,
matlab中如何把一个矩阵的元素调用在另一矩阵中
我想把matlab矩阵里随机抽取20%的数字的值变成0,请问如何操作?
matlab中,如何把一个元素值全为1或0的矩阵存储为二值图像?
matlab 如何得到两个相同维数的2维矩阵每行相同元素的个数
Matlab如何计算多项式矩阵的乘积
matlab如何求线性方程组的系数矩阵