Solve an ODE with runge kutta method

Hi,
I'm trying to solve the following eqaution using runge kutta method. I have not seen any examples of ODE45 or ODE15s for equations in this type.
Ay''+Byy'+Cy'+Dy+E=0; where A,B,C,D and E are constants.
Boundary conditions are y(0)=0; y(l)= 2.3
Thanks

 채택된 답변

Jarrod Rivituso
Jarrod Rivituso 2011년 3월 25일

0 개 추천

Ah, the glory of state-space. First, make the substitution
u = y'
Then, you have a system of two equations
u' = (1/A)*(-B*y*u-C*u-D*y-E)
y' = u
Now you can use ode45...
>> [t,y] = ode45(@xdot,[0 1],[0;0]);
where the function xdot is...
function dx = xdot(t,x)
A = 1;
B = 1;
C = 1;
D = 1;
E = 1;
u = x(1);
y = x(2);
dx(1,1) = (1/A)*(-B*y*u-C*u-D*y-E);
dx(2,1) = y;
Note that I didn't really understand your initial conditions. For your differential equation, you would need to specify an initial y and y', I believe.

추가 답변 (1개)

Jan
Jan 2011년 3월 25일

1 개 추천

If you have "boundary conditions", you need a different solver, see bvp4c and bvp5c. But two conditions are not enough to find a solution for of 2nd order ODE - you need an additional condition.

댓글 수: 1

Luke
Luke 2011년 3월 29일
I solved this equation with bvp4c. But it takes so long to give me an answer. The people who worked on a similar equation suggested to use a Runge-Kutta Nystrom Method, which I'm not familier. Are you guys conversant with this method?

댓글을 달려면 로그인하십시오.

카테고리

태그

질문:

2011년 3월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by