use of eval
Show older comments
I am trying to use evalfunction but are having a hard time:
>> plots=[3 4 6 1]
plots =
3 4 6 1
>> whatplot=input('type type of graph: ','s')
type type of graph: bar
whatplot =
bar
>> eval(whatplot(plots))
??? Index exceeds matrix dimensions.
>>
why wont it evaluate it to a graph with bars?
Accepted Answer
More Answers (2)
Patrick Kalita
on 21 Oct 2011
I think feval would be a better option here. It is a safer than eval, and it easily accommodates passing input arguments:
feval( whatplot, plots )
3 Comments
Fangjun Jiang
on 21 Oct 2011
Yes. feval() is the way to go. I was thinking about inline(), @, etc.
Jan
on 21 Oct 2011
@Tor: Avoid EVAL. As you see, it causes troubles.
Tor Fredrik Hove
on 21 Oct 2011
Wayne King
on 21 Oct 2011
plots=[3 4 6 1];
whatplot = 'bar';
eval([whatplot '(plots)'])
1 Comment
Wayne King
on 21 Oct 2011
also, see the comments by other posters above.
Categories
Find more on 2-D and 3-D Plots 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!