Can I use a for loop in the condition statement of an if branch??

1 回表示 (過去 30 日間)
Teja Jupudi
Teja Jupudi 2014 年 1 月 7 日
コメント済み: David Sanchez 2014 年 1 月 7 日
I am trying to pick selected values of out one array and assign them to a new array. The condition for this 'picking' needs to have a for loop. I mean, the condition must be repeated for a given number of times. So, can I use a 'for' loop in the condition statement of the 'if'?? I have tried the other way round, where the 'if' comes inside 'for' and I have obtained erroneous results. If I am not allowed to do the above, kindly direct me as to how I could solve such an issue.

回答 (2 件)

Simon
Simon 2014 年 1 月 7 日
Can you give an example? As far as I understand you have some values in your array that must match some condition. You may write this without loops like
if (samplearray([1 4 6]) == [1 2 3])
...
end
  3 件のコメント
Teja Jupudi
Teja Jupudi 2014 年 1 月 7 日
I am sorry, I also have to tell you this:
I need the master array unaltered, value-wise and sequence wise. The values of the master array MAY be repeated. Values in the master array belonging to different categories may have the same value. So the only criteria to pick elements is to use the second array as a map.
Simon
Simon 2014 年 1 月 7 日
Hi!
Just use a logical variable like
ConditionMet = true
for n = 1:NumberOfConditions
% check current condition
if ~(...)
ConditionMet = false
end
end
% now your if
if ConditionMet
...
else
...
end

サインインしてコメントする。


David Sanchez
David Sanchez 2014 年 1 月 7 日
No, you can not use a for-loop as the condition of an if statement as in the following WRONG code:
if (for k=1:3 k=k end)
disp('correct expression');
end
In case your if-statement needs more than one condition to be fulfilled, you have to use && to add them up.
if (1==1 && 2==2 && 3==3)
disp('correct expression');
end
  2 件のコメント
Teja Jupudi
Teja Jupudi 2014 年 1 月 7 日
I realized that. But the deal is, I need to verify the '&&' condition with an unknown number of values available only during run-time. Also the comparison of the condition variable is to be done with values that are obtained at run time.
If there is any other way to achieve said outcome, kindly share. Thanks!!
David Sanchez
David Sanchez 2014 年 1 月 7 日
Sorry for the misunderstanding, can you provide some pseudo-code of what you need? I'm pretty sure you can do what you want but some code/pseudo-code would be of great help in order to give a more precise answer.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by