What would you do?

3 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.

Community Treasure Hunt

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

Start Hunting!

Translated by