# How to plot a derivative against variable?

2 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

##### 0 Comments

### See Also

### Community Treasure Hunt

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

Start Hunting!