How do I add the sum of 1st 3 elements of a vector in a for loop?

7 次查看(过去 30 天)
I'd like for my for loop to end at n-1 as I have other code in the body. I just want to add a line in the for loop to add the sum of the 1st 3 elements underneath the left end points in the for loop and display it outside
t=0:5; a=[32 19.41 11.77 7.14 4.33 2.63];
n=length(a); a1=a(1:3);
S=0;
for k=1:n-1;
S=S+sum(a(k)); % left end-points = upper estimate because a is decreasing
end
disp(S)
I'd like the code to do this with the desired output:
S = 32+ 51.41 + 63.18 = 146.59

采纳的回答

Stephen23
Stephen23 2025-6-12
编辑:Stephen23 2025-6-12
a = [32,19.41,11.77,7.14,4.33,2.63];
m = 3;
s = sum(cumsum(a(1:m)))
s = 146.5900
or
s = a(1:m)*(m:-1:1).'
s = 146.5900
or
s = dot(a(1:m),m:-1:1)
s = 146.5900
or
s = sum(a(1:m).*(m:-1:1))
s = 146.5900
or
s = sum(a(1:m)*triu(ones(m)))
s = 146.5900
or
s = sum(repelem(a(1:m),m:-1:1))
s = 146.5900

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Sparse Matrices 的更多信息

标签

产品


版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by