converting a second degree differential equation into a first order

4 Ansichten (letzte 30 Tage)
I am trying to reduce the order of a function but I always get an error message :
syms y(t);
eqn = diff(y,2) + c*y' + k*y == F0sin(w*t) ;
cond1 = y(0) == 4 ;
cond2 diff(y0) == 0 ;
V = odeToVectorField(eqn);

Akzeptierte Antwort

Star Strider
Star Strider am 28 Jan. 2022
Declare all the variables, and for good measure, return the second output from odeToVectorField because it tells you wnat the function is doing internally, and the substitutions it made.
syms c k F0 w y(t)
D1y = diff(y);
D2y = diff(D1y);
eqn = D2y + c*D1y + k*y == F0*sin(w*t) ;
% cond1 = y(0) == 4 ;
% cond2 = diff(y0) == 0 ;
[V,Subs] = odeToVectorField(eqn)
V = 
Subs = 
Now, convert this into an anonymous function that the nmumerical ordinary differntial equation solvers can work with, and integrate it to get a numerical result.
.
.
  6 Kommentare
Anas Gharsa
Anas Gharsa am 28 Jan. 2022
Thank you again for your help!!! I really appreciate it

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by