Can ODE45 solve this equation?

1 view (last 30 days)
Martin
Martin on 1 Mar 2013
hi, so I have an ODE that I am solving with ODE45. It basically solves:
d2x/dt2 = exp(-t/tp)cos(t); where tp is a constant.
It is giveing really good results so far. I now need to solve:
d2x/dt2 = exp(-t/tp)cos(t)exp(-bx); where tp and b are constants
So you can see here that there is now an x dependence on the LHS rather than just time dependence. Is this something that can be solved using ODE45 as I seem to be getting no change in results by adding this?
Thanks

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 1 Mar 2013
When you write x1=x and x2=dx/dt you will have a DE system which can be resolved as
function dx=fcn(t,x,tp,b)
dx=zeros(2,1)
dx(1)=x(2)
dx(2)=exp(-t/tp)*cos(t)*exp(-b*x(1))
%---------------------------------
Call your function
tp=1;
b=1;
[t,x]=ode45(@(t,x) fcnn1(t,x,tp,b),[0,100],[0 0]),
out=x(:,1)
  1 Comment
Martin
Martin on 5 Mar 2013
cheers mate, unfortunately the ODE45 solver and my runge-kutta program completely ignores the exp(-bx), even with b=10000 (or some other random massive/tiny number!)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!