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