What would you do?

2 vues (au cours des 30 derniers jours)
Kye Taylor
Kye Taylor le 3 Juil 2013
Suppose you have a string like
rhs = 'x*cos(x)/(t+1)';
and that you want to create a function handle... would you do
fHandle = str2func(['@(t,x)',rhs])
or
fHandle = eval(['@(t,x)',rhs]);
or
?
Can you explain why?

Réponse acceptée

Chad Gilbert
Chad Gilbert le 3 Juil 2013
I'd tend to choose str2func, merely because it makes it more obvious what I'm anticipating as an output.
  1 commentaire
Kye Taylor
Kye Taylor le 8 Juil 2013
Good thought. Thanks.

Connectez-vous pour commenter.

Plus de réponses (1)

Shashank Prasanna
Shashank Prasanna le 3 Juil 2013
Don't use eval - EVER!
There is a whole documentation page that should answer 'why?'
  1 commentaire
Kye Taylor
Kye Taylor le 8 Juil 2013
Thanks for the pointer!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Platform and License 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