converting a second degree differential equation into a first order
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Star Strider
2022-1-28
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)
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 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!