将零插入数组并使用for循环进行循环

时间:2015-09-11 12:14:25

标签: arrays matlab octave

我有几个数组计算示例a,b and c (有三个以上)计算:请注意这只是一个例子数字更大,并不是那么基本  a=[1,2,3,4,5] b=[10,20,30,40,50] c=[100,200,300,400,500]我希望for loop向其中插入零,这样我就可以看到new_abc数组步骤。

    1st for loop step new_abc=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
    2nd for loop step new_abc=[1,0,0,2,0,0,3,0,0,4,0,0,5,0,0] 
    3rd for loop step new_abc=[1,10,0,2,20,0,3,30,0,4,40,0,5,50,0] 
    4th for loop step new_abc=[1,10,100,2,20,200,3,30,300,4,40,400,5,50,500] 

如何使用for循环执行此操作?

我开始使用下面的代码,它给了我零(

a=[1,2,3,4,5]
new_abc=zeros(1,length(a)*(3));

但我不确定如何使用a将数组b cfor loop的值放入new_abc的正确位置

我知道我可以将所有数组放入一个大型数组并进行重构,但我使用的计算数组变得很大而且我用完ram,所以读取/计算每个数组并将它们插入一个公共数组{{ 1}}使用new_abc效果最佳。

我正在运行八度音阶3.8.1,就像matlab一样。

1 个答案:

答案 0 :(得分:1)

这应该这样做。您可以将a,b,c放入单元格数组中。 (你也可以将它们放在矩阵中......)

new_abc = zeros(1, 3*numel(a));
in = {a, b, c};
for k = 1:3
    new_abc(k:3:end) = in{k};
end