fplot differentiated symbolic equation

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!

1 Comment

robert hyde
robert hyde on 8 Nov 2017
Edited: robert hyde on 8 Nov 2017
Here is my code (the error is in plotting Vg):

Sign in to comment.

 Accepted Answer

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

this worked perfectly and fast, thanks! MVP isn't just a label
As always, my pleasure!
Thank you very much for your compliment!

Sign in to comment.

More Answers (2)

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

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.

Products

Community Treasure Hunt

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

Start Hunting!