问题描述:
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?
问题解答:
我来补答展开全文阅读