我有一个关于如何将矢量复制到另一个矢量的简单问题。我有一个长度为66x1的向量,然后是另一个长度为2151x1的向量。我想将第一个中的值复制到另一个中的准确位置。我试过了,但它不起作用。
inter = 66x1 out = 2151x1
for i=1:numel(inter)
out(101:167)= inter(i)
end
我也试过这个:
for inter=(1:66);
out(101:167)=inter;
end
而且:
for k= (101:167)
out(k)=inter(1:66);
end
我做错了吗?提前谢谢,
答案 0 :(得分:6)
让我们说你的载体是
a = [1; 2; 3];
b = [4; 5; 6; 7; 8; 9];
为了简单起见。
无需使用循环。你可以这样做:
startIdx = 2; %101 in your case
finalIdx = startIdx + size(a,1) - 1; % 166 in your case
b(startIdx:finalIdx) = a;
然后b将是:
b =
4
1
2
3
8
9
这里非常重要的一点是-1
中的finalIdx
。您需要从最终索引中减去1。