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 Center および File ExchangeOrdinary Differential Equations についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by