For loop difference between two point in a vector

8 vues (au cours des 30 derniers jours)
Ornella Fanais
Ornella Fanais le 21 Mai 2018
Commenté : Ornella Fanais le 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!!!! :)

Réponse acceptée

KSSV
KSSV le 21 Mai 2018
Modifié(e) : KSSV le 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 commentaires
Jan
Jan le 21 Mai 2018
Modifié(e) : Jan le 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 le 21 Mai 2018
Thank you guys!!!!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by