How to plot a derivative against variable?
조회 수: 3 (최근 30일)
이전 댓글 표시
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
John D'Errico
2023년 4월 1일
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.
채택된 답변
Walter Roberson
2023년 4월 1일
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])
추가 답변 (1개)
Peter Perkins
2023년 4월 5일
For extra credit, create a timetable from displacement, add velocity and accel, then use stackedplot to plot all three together.
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!