复制矢量到Matlab中的矢量

时间:2013-01-25 08:59:55

标签: matlab vector

我有一个关于如何将矢量复制到另一个矢量的简单问题。我有一个长度为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

我做错了吗?提前谢谢,

1 个答案:

答案 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。