what correction is required in the code?
信息
此问题已关闭。 请重新打开它进行编辑或回答。
显示 更早的评论
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
0 个投票
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 个评论
Manav Divekar
2021-11-11
Walter Roberson
2021-11-11
s+b(i)
Manav Divekar
2021-11-11
James Tursa
2021-11-11
How could you maybe change the for loop range so it added up all of the elements?
A hint: You want to perform this:
- s = 0
- s = s + 2*2
- s = s + 2*5
- s = s + 5*8
You need to loop over the indices of m. There is 1 iteration less than the number of elements of m.
0 个评论
此问题已关闭。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!