storing loop function output in vector
Afficher commentaires plus anciens
Hi, I have a single column array of some positive and negative values. I am trying to use a loop to segregate them and to store the result in a separate vector. Unable to do ot so far. can anyone help please? This is my code:
Diff=MP_25-MP_60
y=nan(117,1)
for i=Diff(1:117) if i>0 y(i) = ('Upward') else y(i) = ('Downward') end end
Réponse acceptée
Plus de réponses (1)
Ali Ajaz
le 18 Mar 2018
0 votes
3 commentaires
David Fletcher
le 18 Mar 2018
Modifié(e) : David Fletcher
le 18 Mar 2018
for iter=1:length(Diff)
if (Diff(iter)>=0)
y(iter)='U'
else
y(iter)='D'
end
end
David Fletcher
le 18 Mar 2018
You may find that because you pre-allocated y as NaN, when you add 'U' or 'D' you get their numeric codes instead of the letter.
you could pre-allocate y to a character vector instead
y=repmat('U',117,1)
David Fletcher
le 18 Mar 2018
Actually, if you pre-allocate y to 'D' you can lose the else clause in the condition block (since the array is already set to 'D')
y=repmat('D',117,1)
for iter=1:length(Diff)
if (Diff(iter)>=0)
y(iter)='U'
end
end
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

