gpt4 book ai didi

matlab - 对索引求和

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:14 24 4
gpt4 key购买 nike

假设我有

A = [10 20 30 40];
idx = [1 1 1 2];
result = [0 0];

我需要对 idx 中的索引求和,以便

result(1) = A(1) + A(2) + A(3);
result(2) = A(4);

我实现了代码

for i=1:length(idx)
result(idx(i)) += A(i);
end

如果可能的话,我怎样才能将它转换为更多 Octave 标准代码?

最佳答案

看看accumarray ,它完全符合您的要求,它只需要将其第一个输入作为列:

A = [10 20 30 40];
idx = [1 1 1 2];
result = accumarray(idx',A)

result =

60
40

是的,这也适用于 Octave ;) ( link )

关于matlab - 对索引求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12998121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com