storing loop function output in vector
显示 更早的评论
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
采纳的回答
更多回答(1 个)
Ali Ajaz
2018-3-18
0 个投票
3 个评论
David Fletcher
2018-3-18
编辑:David Fletcher
2018-3-18
for iter=1:length(Diff)
if (Diff(iter)>=0)
y(iter)='U'
else
y(iter)='D'
end
end
David Fletcher
2018-3-18
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
2018-3-18
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
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

