What would you do?

2 views (last 30 days)
Kye Taylor
Kye Taylor on 3 Jul 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?

Accepted Answer

Chad Gilbert
Chad Gilbert on 3 Jul 2013
I'd tend to choose str2func, merely because it makes it more obvious what I'm anticipating as an output.

More Answers (1)

Shashank Prasanna
Shashank Prasanna on 3 Jul 2013
Don't use eval - EVER!
There is a whole documentation page that should answer 'why?'

Categories

Find more on Platform and License in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!