Can ODE45 solve this equation?

2 次查看(过去 30 天)
Martin
Martin 2013-3-1
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

回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-3-1
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 个评论
Martin
Martin 2013-3-5
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!)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by