how to do sum of element of multiple number in matlab?
2 次查看(过去 30 天)
显示 更早的评论
Hello everyone.
If I have
m=[3 3 4 3 2 4 3]
c=[3 4]
then I want to calculate the sum of m(c) at the same time
I tried
b=1:m(c)
b=sum(b)
but only give me one number. I want it to be 2 numbers. How to do this?
Thanks in advance
2 个评论
Timo Dietz
2020-11-18
Could you please explain in more detail? Does c contain the indices up to which you like to sum up m - starting always from 1? Or why do you expect two numbers as result?
采纳的回答
更多回答(1 个)
Timo Dietz
2020-11-18
编辑:Timo Dietz
2020-11-18
Not sure whether I got your issue. But in case you want to summarize all members of m starting at index 1, up to each member of c (containing indices of m) individually, you can do this:
b=arrayfun(@(x) sum(m(1:x)), c)
2 个评论
Rik
2020-11-18
Functions like arrayfun and cellfun tend to be slower than using a for loop. The exception appears to be the legacy calls of cellfun (so those with the char input, instead of a function handle).
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!