フィルターのクリア

Problem with Nested if statements

1 回表示 (過去 30 日間)
Aftab Ahmed Khan
Aftab Ahmed Khan 2015 年 11 月 9 日
編集済み: Aftab Ahmed Khan 2015 年 11 月 9 日
Hi everyone, I am using nested if statements to perform a subsection of my project but i don't like the way i have implemented it. I am sure that there will be some optimum way of doing the following task, so to avoid so many if statements. Thank you so much.
if any(idcabs==[1 2 3 4])
if any(idabs==[1 2 5 6 9 10 13 14])
idbeam1=1;
else
idbeam1=3;
end
elseif any(idcabs==[5 6 7 8])
if any(idabs==[1 2 5 6 9 10 13 14])
idbeam1=3;
else
idbeam1=1;
end
elseif any(idcabs==[9 10 11 12])
if any(idabs==[1 2 3 4 5 6 7 8])
idbeam1=2;
else
idbeam1=4;
end
elseif any(idcabs==[13 14 15 16])
if any(idabs==[1 2 3 4 5 6 7 8])
idbeam1=4;
else
idbeam1=2;
end
end

採用された回答

Walter Roberson
Walter Roberson 2015 年 11 月 9 日
You should consider using ismember()
  2 件のコメント
Aftab Ahmed Khan
Aftab Ahmed Khan 2015 年 11 月 9 日
編集済み: Aftab Ahmed Khan 2015 年 11 月 9 日
Hi Walter, even if a consider ismember(), i will still need those nested If statements. It will be just a change of functions from any() to ismemeber(). Do you mean something like this just for the first part.
Aftab Ahmed Khan
Aftab Ahmed Khan 2015 年 11 月 9 日
id1=ismember(idcabs,C1)
id2=ismember(idabs,S1)
if ~isempty(id1) && ~isempty(id2)
idbeam1=1;
else
idbeam1=3;
end

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeWhos についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by