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

2 vues (au cours des 30 derniers jours)
Ian
Ian le 22 Oct 2014
Modifié(e) : Guillaume le 22 Oct 2014
Am I able to do something like this in Matlab? Please advice
aaa = 'r > 0 && r < 5 '; if (aaa) r = r+1; end

Réponse acceptée

Orion
Orion le 22 Oct 2014
Modifié(e) : Orion le 22 Oct 2014
you can do that using eval
r=1;
aaa = 'r > 0 && r < 5 ';
if eval(aaa)
r = r+1;
end
disp(r);

Plus de réponses (1)

Guillaume
Guillaume le 22 Oct 2014
Modifié(e) : Guillaume le 22 Oct 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;

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by