How can I add the average of two consecutive numbers?

1 Ansicht (letzte 30 Tage)
How can I put this in a simpler form?
Area=(y(1)+y(2)/2+(y(2)+y(3)/2+(y(3)+y(4)/2+(y(4)+y(5))/2

Akzeptierte Antwort

David Sanchez
David Sanchez am 26 Nov. 2013
n = length(y);
Area = 0;
for k=1:(n-1)
Area = Area + (y(k) +y(k+1))/2;
end

Weitere Antworten (2)

Andrei Bobrov
Andrei Bobrov am 26 Nov. 2013
Bearbeitet: Andrei Bobrov am 26 Nov. 2013
y = randi(10,5,1);
Area = sum(conv2(y,[1;1]/2,'valid'));
  3 Kommentare
Andrei Bobrov
Andrei Bobrov am 26 Nov. 2013
What should be correctly?
Marcela Ruiz de Chávez
Marcela Ruiz de Chávez am 26 Nov. 2013
I solved it. Thank you!!

Melden Sie sich an, um zu kommentieren.


Chibuzo Nnonyelu
Chibuzo Nnonyelu am 27 Jun. 2018
By using indexing and simple maths (y1 + y2)/2 = (y2 - y1)/2 + y1 therefore, you can do this as
Area = diff(y)/2 + y(1, end - 1)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by