# converting a second degree differential equation into a first order

10 visualizzazioni (ultimi 30 giorni)
Anas Gharsa il 28 Gen 2022
Commentato: Star Strider il 28 Gen 2022
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);
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Risposta accettata

Star Strider il 28 Gen 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 CommentiMostra 4 commenti meno recentiNascondi 4 commenti meno recenti
Anas Gharsa il 28 Gen 2022
Thank you again for your help!!! I really appreciate it
Star Strider il 28 Gen 2022
As always, my pleasure!

Accedi per commentare.

### Categorie

Scopri di più su Numeric Solvers in Help Center e File Exchange

R2021b

### Community Treasure Hunt

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

Start Hunting!

Translated by