How to plot a derivative against variable?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
River
le 1 Avr 2023
Réponse apportée : Peter Perkins
le 5 Avr 2023
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 commentaires
John D'Errico
le 1 Avr 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.
Réponse acceptée
Walter Roberson
le 1 Avr 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])
Plus de réponses (1)
Peter Perkins
le 5 Avr 2023
For extra credit, create a timetable from displacement, add velocity and accel, then use stackedplot to plot all three together.
0 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!