【发布时间】:2013-01-03 16:34:34
【问题描述】:
我使用 ode45 来求解微分方程,但 tspan 必须始终使系统及时向前运行。我可以让 ode45 将系统向后运行到负 t 吗?
我遇到的具体问题是使用上升指数函数,即从 t=-infinity 到 t=0 的 a*exp(at),对于所有 t>0,该函数为零。如您所见,在我的问题中不可能翻译此函数并使用区间 t=0 到 t=infinity。所以,我希望 ode45 在负 t 下工作。
谢谢!
编辑:经过一番思考,我意识到我的问题措辞很糟糕,而且我的理解也很差,所以让我在这里重申一下。
我的 ODE 的形式为 x'=f(t)x,其中 f(t)=a*exp(at) 从 -infinity 到 0。系统从 t=-infinity 处的一些初始条件开始。另一方面,ode45 要求 tspan 为正,并且还需要 t=0 时的初始条件。那么我怎样才能改变这两个标准呢?
谢谢你:)
【问题讨论】:
-
为什么不将
-t替换为一个新的时间变量,比如s,得到s的新微分方程,求解s,然后将t代入解决方案? -
不,你看这对我展示的功能不起作用。从 0 到无穷大的 aexp(-as) 与从 -infinity 到 0 的 aexp(at) 不同。我认为不可能将此函数“翻译”为正 t间隔。
-
但是aexp(-as) from infinity to 0 和aexp(at) from -infinity to 0
-
嗨拉斯曼,那么,tspan 是什么? [无穷大:0]?我用 ode45 试过这个。我只尝试了 [2:0],它给了我一个错误。我们正在尝试的本质上是试图在时间上倒退,不是吗?不幸的是,它不起作用,您能推荐一个替代方案吗?
-
不确定我的想法是否正确,但是如果你用 s = (-1/t) 代替 [-inf, 0] 上的 t 来代替 s = [0, inf],那行得通吗?