storing loop function output in vector
Mostra commenti meno recenti
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
Risposta accettata
Più risposte (1)
Ali Ajaz
il 18 Mar 2018
0 voti
3 Commenti
David Fletcher
il 18 Mar 2018
Modificato: David Fletcher
il 18 Mar 2018
for iter=1:length(Diff)
if (Diff(iter)>=0)
y(iter)='U'
else
y(iter)='D'
end
end
David Fletcher
il 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
il 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
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

