substitute only first derivative in symbolic toolbox

6 views (last 30 days)
I am considering a second order differential equation (mass - spring system), and I want to substitute the first derivative with another symbolic function.
syms x(t) v(t) m k
expr = m * diff(x, t, 2) + k * x(t) == 0;
expr2 = subs(expr, diff(x, t, 1), v(t));
Anyway, result of expr2 still containts the second derivative of x(t) and not the first derivative of v(t). Is there a way I can solve it and make it explicit?
>> expr2
expr2(t) =
m*diff(x(t), t, t) + k*x(t) == 0
  1 Comment
VBBV
VBBV on 12 Oct 2020
Edited: VBBV on 12 Oct 2020
Try this
%f true
% code
%end
syms x(t) v(t) m k
expr = m * diff(x, t, 2) + k * x(t) == 0;
expr2 = subs(expr, diff(x, t, 2), diff(v,t,1)); % the old is diff(x,t,2)

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 12 Oct 2020
I remember doing vibration analysis, used to be pretty tricky:
expr2 = subs(expr, diff(x, 2), diff(v))

More Answers (0)

Categories

Find more on Mathematics 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!