Solve an ODE with runge kutta method
6 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Jarrod Rivituso
on 25 Mar 2011
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.
0 Comments
More Answers (1)
Jan
on 25 Mar 2011
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.
See Also
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!