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?

 Akzeptierte Antwort

Wayne King
Wayne King am 21 Okt. 2011

0 Stimmen

Your call to input() returns the string bar in whatplot
but whatplot(plots) is not a string.
eval([whatplot '(plots)'])

4 Kommentare

Tor Fredrik Hove
Tor Fredrik Hove am 21 Okt. 2011
I cant seem to get this right:
plots=[3 4 6 1]
plots =
3 4 6 1
>> whatplot='bar'
whatplot =
bar
>> eval([whatplot'(plots)'])
??? eval([whatplot'(plots)'])
|
Error: Unbalanced or unexpected parenthesis or bracket.
>>
Andrei Bobrov
Andrei Bobrov am 21 Okt. 2011
eval([whatplot, '(plots)'])
Tor Fredrik Hove
Tor Fredrik Hove am 21 Okt. 2011
thanks! I guess I am also a bit confussed about my book. It says:
>>x=[9 7 10 9];
whatplot=input('What type of plot?: ','s');
What type of plot?: bar
>>eval([whatplot '(x)'])
>>title(whatplot)
>>xlabel('Student#')
>>ylabel('Quiz Grade')
I guess the three last lines are just for naming graph and coordinates but thoose before don't return any graph for me
Jan
Jan am 22 Okt. 2011
Bad book. Evil EVAL.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Patrick Kalita
Patrick Kalita am 21 Okt. 2011

4 Stimmen

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 Kommentare

Fangjun Jiang
Fangjun Jiang am 21 Okt. 2011
Yes. feval() is the way to go. I was thinking about inline(), @, etc.
Jan
Jan am 21 Okt. 2011
@Tor: Avoid EVAL. As you see, it causes troubles.
Tor Fredrik Hove
Tor Fredrik Hove am 21 Okt. 2011
it is part of curriculum unfortunately:) If not I would have:)

Melden Sie sich an, um zu kommentieren.

Wayne King
Wayne King am 21 Okt. 2011

0 Stimmen

plots=[3 4 6 1];
whatplot = 'bar';
eval([whatplot '(plots)'])

1 Kommentar

Wayne King
Wayne King am 21 Okt. 2011
also, see the comments by other posters above.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by