在 MATLAB 中自动编写多个 for 循环的方法

问题描述 投票:0回答:1

我有以下金额:

点击这里查看总和!

我在 MATLAB 中计算这个总和,如下所示:

k = 100;
count = 1;
for i1 = 0 : k
    for i2 = 0 : k - i1
        for i3 = 0 : k - i1 - i2
            for i4 = 0 : k - i1 - i2 - i3
                count = count + 1;
            end
        end
    end
end

我的问题是如何以更自动的方式执行此操作,而无需每次使用索引手动添加 for 循环?例如,有没有办法向量化这个问题?

我想应用相同的概念,但直到

i100
,我当然不会手动添加 100 个 for 循环!那么我如何编写此 MATLAB 代码的另一个版本来帮助我对上述代码进行矢量化?

提前谢谢您!

matlab for-loop vectorization
1个回答
0
投票

功能

cumsum
可以重复应用:

c = 1:k+1;
for i = 1:k-2
    c = cumsum(c);
end
count = sum(c) + 1;
© www.soinside.com 2019 - 2024. All rights reserved.