0

我有一个关于如何将向量复制到另一个向量的简单问题。我有一个长度为 66x1 的向量,然后是另一个长度为 2151x1 的向量。我想将第一个的值复制到另一个的确切位置。我已经尝试过了,但它不起作用。

国米= 66x1 出= 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

我做错了吗?提前致谢,

4

1 回答 1

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

这里非常重要的一点是-1in finalIdx。您需要从最终索引中减去 1。

于 2013-01-25T09:10:30.430 回答