Solve a second order differential equation in matlab?

I have to solve the equation d2y/dx2+.5dy/dx+7y=0 with initial conditions y(0)=4 y'(0)=0 with x ranging from 0 to 5 with a step size of .5. How do I go about doing this?

 Réponse acceptée

You can transform your equation d2y/dx2=.-5dy/dx-7y to get:
y1=y
y2=dy/dx
dy1=dy/dx=y2
dy2=d2y/d2x=-5dy/dx-7y=-5y2-7y1
Create a file named myode.m
function dy=myode(x,y)
dy=[0;0]
dy(1)=y(2)
dy(2)=-5*y(2)-7*y(1)
Then run these lines
yin=[0 4 ] % initial values
time=[0 5]
[x,y]=ode45(@myode,time,yin)
plot(x,y)

Catégories

En savoir plus sur Numerical Integration and Differential Equations dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by