For loop difference between two point in a vector

8 Ansichten (letzte 30 Tage)
Ornella Fanais
Ornella Fanais am 21 Mai 2018
Kommentiert: Ornella Fanais am 21 Mai 2018
Hi everyone! I have a problem, I have to do a difference between two point: I have this vector for example M=[1;2;4;6;7;8] and my for loop should be able to construct this vector [2-1;4-2;6-4;7-6;8-7]. I'm using this script, but It's worng
for i=M(0):length(M)-1
inc=M((i)+1)-M(i);
end
I'm hoping you can help me. Thanks!!!! :)

Akzeptierte Antwort

KSSV
KSSV am 21 Mai 2018
Bearbeitet: KSSV am 21 Mai 2018
iwant = diff(M)
If you are adamant about loop:
M = [1;2;4;6;7;8] ;
N1 = [2-1;4-2;6-4;7-6;8-7] ;
N = zeros(length(M)-1,1) ;
for i = 1:length(M)-1
N(i) = M(i+1)-M(i) ;
end
  2 Kommentare
Jan
Jan am 21 Mai 2018
Bearbeitet: Jan am 21 Mai 2018
+1. Perfect. The efficient diff is mentioned and the problem of the loop is explained.
Another solution:
N = M(2:end) - M(1:end-1)
Ornella Fanais
Ornella Fanais am 21 Mai 2018
Thank you guys!!!!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements 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