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

有列矩阵如下:
1
2
3
...
98
99
100

想要得到这样的矩阵,它来自于上面矩阵的每个不同行重复200遍,即
1
1
...
1
2
2
...
2
...
100
100
...
100
求大神指点
PS:不是得到原来矩阵的重复,即不是使用repmat函数。

其实还是要使用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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-28
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就是你要的矩阵了
第2个回答  2014-02-28
用两个for 循环就可以啦,外环度原矩阵,内环构造新矩阵~
第3个回答  2014-02-28
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
相似回答