How to convert from a for loop to a while loop
2 次查看(过去 30 天)
显示 更早的评论
I need to modify the set of codes below to a while loop
3 个评论
James Tursa
2016-12-13
编辑:James Tursa
2016-12-13
Why do you need this converted? Is this homework? Why not get rid of the loop entirely and vectorize this operation?
采纳的回答
James Tursa
2016-12-13
编辑:James Tursa
2016-12-13
Your loop doesn't work because the "continue" statement skips over the Index=Index+1 statement. You need to rewrite things without skipping over that statement ... e.g., maybe try to rewrite your if-then-else stuff so that you do not use a "continue" statement. (Hint: What happens to your logic if you simply comment out that "continue" statement?)
2 个评论
James Tursa
2016-12-13
编辑:James Tursa
2016-12-13
See my hint about how to get your while loop version working. Or see Dave Barry's one-liner.
更多回答(1 个)
David Barry
2016-12-13
This does not need to be any kind of loop. You should learn about logical indexing in MATLAB. This can be done with one line of code.
Vector(Vector >=0) = Vector(Vector >=0) * 2;
0 个评论
另请参阅
类别
在 Help Center 和 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!