Plotting of an inline function

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 个评论

Can you give an example of your input by copying every results from the command window?
>> Untitled
Give an equation in x
x^2-3
>>
Copied from command window
Stephen23
Stephen23 2018-8-31
编辑:Stephen23 2018-8-31
@Sahil Khan: can you please explain why you are using a very outdated and almost obsolete inline function? The inline documentation clearly states "inline will be removed in a future release. Use Anonymous Functions instead." Do you have a reason why you cannot use (much better) function handles for this task?
I wasnt exactly up to date with that. I am learning MATLAB and started three days before. Can you please elaborate the other method ?
Stephen23
Stephen23 2018-8-31
编辑:Stephen23 2018-8-31
@Sahil Khan: follow the bold blue link in my comment.
@stephen cobeldick I have a question . I am using matlab 2017a but str2sym command is not working for me . Any reason/s?
Stephen23
Stephen23 2018-8-31
编辑:Stephen23 2018-8-31
@madhan ravi: did it work before? Do you have a license for that toolbox?
What toolbox is required for this? Yes @stephen but suddenly it says undefined function same for sprint as well but sprintf and fprintf commands work don’t know why :/
Stephen23
Stephen23 2018-8-31
编辑:Stephen23 2018-8-31
"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
Thank you @stephen and sorry

请先登录,再进行评论。

回答(2 个)

Stephen23
Stephen23 2018-8-31
编辑:Stephen23 2018-8-31
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])

类别

帮助中心File Exchange 中查找有关 Function Creation 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by