用多层for循环的方法是不现实的。可以通过每次加前两行,然后得到新的结果作为第一行,当然第一行和后边的是不一样长的。按照你这个讲解就是:
1.第一行和第二行交叉相加,得到了3*3=9个值,作为新的第一行。
2.用新的第一行和第三行交叉相加,可以得到9*3=27个。
程序给你写出来了,x可以使n行k列的,我这里取n=3,k=10,所以应该有1000长的结果,你可以自己改。
x=rand([3,10]);
[n,k]=size(x);
result=x(1,:);
for ind=2:n
[ind1,ind2]=meshgrid(1:length(result),1:k);
temp=x(ind,:);
result=result(ind1)+temp(ind2);
result=result(:);
end