Is it Possible to store an if Condition in a String to manipulate later ?

Am I able to do something like this in Matlab? Please advice
aaa = 'r > 0 && r < 5 '; if (aaa) r = r+1; end

 採用された回答

Orion
Orion 2014 年 10 月 22 日
編集済み: Orion 2014 年 10 月 22 日
you can do that using eval
r=1;
aaa = 'r > 0 && r < 5 ';
if eval(aaa)
r = r+1;
end
disp(r);

その他の回答 (1 件)

Guillaume
Guillaume 2014 年 10 月 22 日
編集済み: Guillaume 2014 年 10 月 22 日
If you really want to store your condition in a string, then use eval as Orion said. However, I wouldn't do that as you don't get an syntax check for the code in your string.
Rather, I'd use an anonymous function:
aaa = @(x) x>0 && x<5; %anonymous function, the name of the variable doesn't matter
if aaa(r) r=r+1;

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

タグ

質問済み:

Ian
2014 年 10 月 22 日

編集済み:

2014 年 10 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by