我有两个矩阵,每个矩阵有十行。我试图连续地将行堆叠在彼此之上。例如,我有矩阵A和B,我已经做了一个for循环,使它重复堆叠行的过程。现在的问题是,当我运行脚本时,它只对第一行执行并且不继续。代码写在下面
A = [1 2 3 4 5 6 7 8 9 10];
B= [11 12 13 14 15 16 171 18 19 20];
for i2= 1:10
l= A(i2,1);
p= B(i2,1);
for i4= 1:10
i4 = [l;p] ;
end
end
% so the answer will be
% i4 = [1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 10 20]
我需要一些帮助
答案 0 :(得分:0)
我还没有matlab来测试这个,但是:
new = []
for i= 1:10
l= A(i,:);
p= B(i,:);
for j= 1:10
new(end+1) =[l(j),p(j)] ;
end
end
肯定有更好的方法,但这应该有用。
答案 1 :(得分:0)
你不需要任何循环! 试试这个:
i4 = [A,B];
答案 2 :(得分:0)
自: https://stackoverflow.com/a/17766565/7252268
A = [1 2 3 4 5 6 7 8 9 10];
B= [11 12 13 14 15 16 171 18 19 20];
i4 = zeros(size(A,1), size(A,2)+size(B,2));
i4(:,1:2:end) = A;
i4(:,2:2:end) = B;
答案 3 :(得分:0)
除了Ekin Inceleme的解决方案,你可以使用
i4 = reshape([A.' B.'].', 1, 2*size(A,2));
规定A
和B
的大小相同。但是,这里的这个并不容易阅读。