Info
此问题已关闭。 请重新打开它进行编辑或回答。
what correction is required in the code?
1 次查看(过去 30 天)
显示 更早的评论
I am trying to perform 2*2 + 2*5 + 5*8, for [2 2 5 8] vector which is product of consicutive and sum of all. without using sum() & diff() and using for loop
function [out] = pairprodsum (m)
s = 0
for i = 1
b = m(1:end-1).*m(2:end);
s = s + b;
end
out = s;
0 个评论
回答(2 个)
James Tursa
2021-11-11
If the homework assignment specifies you must use a loop, then I don't think the intent was for you to wrap a simple i=1 range around vectorized code. That being said, I suppose your "loop" technically qualifies.
b is a vector. You simply need to sum all the elements of b and return that. s = s + b does not sum the element of b ... it simply creates a new vector s that is a copy of b. You need different code to sum the elements of b. There are various ways to do this, which I will let you figure out.
4 个评论
James Tursa
2021-11-11
How could you maybe change the for loop range so it added up all of the elements?
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!