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!

 采纳的回答

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

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

请先登录,再进行评论。

更多回答(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 个评论

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!

请先登录,再进行评论。

类别

产品

Community Treasure Hunt

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

Start Hunting!

Translated by