fplot differentiated symbolic equation

3 views (last 30 days)
Hello there!
I'm trying to use the fplot function to plot an equation that I defined previously. However I think because I used syms and the diff() function to create the variable I am trying to plot, it is messing up the fplot function. My output is one graph which I already got to plot and an orange error message saying: '''The following error was reported evaluating the function in FunctionLine update: sym output type is not supported. Set 'UniformOutput' to false.'''
Any ideas for how to solve this? All other threads talk about arrayfun or something unrelated, if not, no worries, but thanks!

Accepted Answer

Star Strider
Star Strider on 8 Nov 2017
I would calculate the derivative and create the anonymous function for ‘Vg’ with:
Vg = matlabFunction(diff(Mg,t), 'Vars',{t});
With that change, it runs without error, although the plot generates a long ‘Warning’ message.
  2 Comments
robert hyde
robert hyde on 8 Nov 2017
this worked perfectly and fast, thanks! MVP isn't just a label
Star Strider
Star Strider on 8 Nov 2017
As always, my pleasure!
Thank you very much for your compliment!

Sign in to comment.

More Answers (2)

Karan Gill
Karan Gill on 8 Nov 2017
You made a simple mistake. You used anonymous functions instead of symbolic functions. Declare a symbolic function using
syms Va(t)
Va(t) = t^2;
and plot it with fplot
fplot(Va)
See the second example in fplot doc: https://www.mathworks.com/help/symbolic/fplot.html
Comment if you have issues. If it works, please accept this answer.
  1 Comment
robert hyde
robert hyde on 8 Nov 2017
This also worked and is a lot simpler to read, so I will use this as I am marked on how my code looks rather than it's run time, thank you very much!

Sign in to comment.


Omer Ali
Omer Ali on 12 Nov 2017
Thanks for asking this Rob! :)

Categories

Find more on Symbolic Math Toolbox 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!