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

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

Akzeptierte Antwort

Orion
Orion am 22 Okt. 2014
Bearbeitet: Orion am 22 Okt. 2014
you can do that using eval
r=1;
aaa = 'r > 0 && r < 5 ';
if eval(aaa)
r = r+1;
end
disp(r);

Weitere Antworten (1)

Guillaume
Guillaume am 22 Okt. 2014
Bearbeitet: Guillaume am 22 Okt. 2014
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;

Kategorien

Mehr zu Dates and Time finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by