如何在matlab中将一个矩阵的不同行都重复相同次数?

2025-03-04 04:21:21
推荐回答(4个)
回答1:

其实还是要使用repmat函数,只不过需要再辅以一点其它手段。

 

参考代码(仅用于说明问题,把100改为3,200改为5):

>> A=(1:3)'
A =
     1
     2
     3
>> B=repmat(A',5,1);
>> B(:)
ans =
     1
     1
     1
     1
     1
     2
     2
     2
     2
     2
     3
     3
     3
     3
     3

回答2:

x = (1:100)'; %你的原矩阵
x1 = zeros(length(x)*200,1);

for n = 1:length(x)
x1( (200*(n-1)+1):200*n ) = x(n);

end

% x1就是你要的矩阵了

回答3:

用两个for 循环就可以啦,外环度原矩阵,内环构造新矩阵~

回答4:

A=[1,2,3,4,5];%原矩阵
L=length(A);%矩阵长度
B=zeros(L*200,1)%求解矩阵
for i=0:L-1
for j=1:200
B(200*i+j)=A(i+1);
end
end