how can I write a while condition for an empty array?
古いコメントを表示
I write a while loop as:
while set==[]
....
....
end
but when I run my code it only works until the while loop, not enters inside the loop and on the text of the while set==[] there is an error message as: operator '[' is seldom used in a scalar context.
What is the problem? I want my loop run until my set array has no element. If required I can send my code...
Thanks in advance... Regards...
回答 (1 件)
while isempty(value)
...
end
4 件のコメント
bilgesu ak
2015 年 5 月 25 日
編集済み: bilgesu ak
2015 年 5 月 25 日
Walter Roberson
2015 年 5 月 25 日
We don't know the rest of your code so we cannot say whether there are mistakes in it.
Because the first row is all zeros, the while loop will never begin:
pre= [0 0 0 0 0 0 0 0 0 0 0;
1 0 0 0 0 0 0 0 0 0 0;
1 0 0 0 0 0 0 0 0 0 0;
1 0 0 0 0 0 0 0 0 0 0;
1 0 0 0 0 0 0 0 0 0 0;
1 1 0 0 0 0 0 0 0 0 0;
1 0 1 1 1 0 0 0 0 0 0;
1 1 0 0 0 1 0 0 0 0 0;
1 0 1 1 1 0 1 0 0 0 0;
1 1 0 0 0 1 0 1 0 0 0;
1 0 1 1 1 0 1 0 1 0 0];
AA = find(all(pre==0,2))
when I run this it displays this in my command window:
AA =
1
so AA is not empty, and your while loop will never start. Perhaps you need to fix the algorithm that you are using.
Suggestion: instead of trying to fix broken code, if you actually tell us exactly what you are trying to achieve then we could advise some neat and efficient ways to achieve this.
bilgesu ak
2015 年 5 月 25 日
カテゴリ
ヘルプ センター および 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!