Plotting of an inline function

9 views (last 30 days)
Sahil Khan
Sahil Khan on 31 Aug 2018
Edited: madhan ravi on 31 Aug 2018
str=input('Give an equation in x\n','s');
f=inline(str,'x');
I want to plot a graph of the function 'f'. I tried fplot but it is not working. How can I plot 'f' vs. 'x'.
  10 Comments
Stephen23
Stephen23 on 31 Aug 2018
Edited: Stephen23 on 31 Aug 2018
"What toolbox is required for this?"
Use an internet search engine to find this page:
Read the text in the top left corner of that page:
Symbolic Math Toolbox
Use an internet search engine to search for "MATLAB what toolbox licenses do I have"
... etc
madhan ravi
madhan ravi on 31 Aug 2018
Edited: madhan ravi on 31 Aug 2018
Thank you @stephen and sorry

Sign in to comment.

Answers (2)

Stephen23
Stephen23 on 31 Aug 2018
Edited: Stephen23 on 31 Aug 2018
You should use str2func to create an anonymous function:
str = input('Give an equation in x: ','s');
fun = str2func(sprintf('@(x)%s',str));
fplot(fun,[0,10])
And tested:
>> str = input('Give an equation in x: ','s');
Give an equation in x: sqrt(x)-x
>> fun = str2func(sprintf('@(x)%s',str));
>> fplot(fun,[0,10])

Star Strider
Star Strider on 31 Aug 2018

Categories

Find more on Function Creation in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!