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

4 ビュー (過去 30 日間)
Ian
Ian 2014 年 10 月 22 日
編集済み: Guillaume 2014 年 10 月 22 日
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;

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by