Second order diffrential equation solve using ode 45
显示 更早的评论
I want to solve a second order differential equation of the form
d^2y/dt^2+dy/dt=sin(100t)
I want the value of dy/dt and y.
I am copied my code below where easily I can get the dy/dt as a function of t but I am not able find y as a function of t. I am new to Matlab. Please help me regarding this issue. I copied the code below
---------------------------------------------
main program
---------------------------------------------
t=linspace(0,500,1000); %time span%
y0=[0];
%%solving using ode45
[tsol, ysol]=ode45(@(t,y0) firstodefun2(t,y0), t, y0);
---------------------------------------------------
function definition
----------------------------------------------------
function dy=firstodefun2(t,y0)
dy=zeros(1,1);
dy(1)=sin(100*t)-y0(1);
end
采纳的回答
更多回答(1 个)
Torsten
2022-8-22
Set x(1) = y and x(2) = dy/dt.
Then you get a system of differential equations
dx(1)/dt = x(2)
dx(2)/dt = -x(2) + sin(100*t)
Of course, you also will have to supply two initial conditions (one for y, the second for dy/dt at t=0).
类别
在 帮助中心 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
