How to plot a derivative against variable?
6 views (last 30 days)
Show older comments
Use if statements to select an equation for x based on the inputed value for damping. Plot a graph of x (displacement) against time (this bit works). Then want to differentiate x for velocity, and differentiate velocity for acceleration and then plot all three. I used:
syms t
v = diff(x,1)
plot(t,v)
Get error "Data must be numeric, datetime, duration, categorical, or an array convertible to double."
x is a previously selected equation with t as a variable, also includes Z but this is asked for and inputted at the beginning.
2 Comments
John D'Errico
on 1 Apr 2023
What do you expect? Read what you did. You did this:
syms t
v = diff(x,1)
What is x? Should MATLAB know that x is something possibly related to t? Why should it? Possibly x is a variable that already exists, since if it did not exist, you would have gotten a different error.
You claim that x already exists, but we don't see what it is. Is x an "equation", perhaps a function? Is it just a variable of some ilk? Is x something symbolic?
You are not telling us enough information to know what you did, except that you did something that caused an error.
Accepted Answer
Walter Roberson
on 1 Apr 2023
Change
t = (0.0:0.001:5);
to
syms t
Change
plot(t,x,'b')
to
fplot(x, [0 5])
change
plot(t, v)
to
fplot(v, [0 5])
More Answers (1)
Peter Perkins
on 5 Apr 2023
For extra credit, create a timetable from displacement, add velocity and accel, then use stackedplot to plot all three together.
0 Comments
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!