我可以及时向前跑ode45吗?

时间:2013-01-03 16:34:35

标签: matlab ode

我使用ode45来求解微分方程,但是tspan总是必须使系统及时向前运行。我可以让ode45将系统向后运行到负t吗?

我具体的问题是使用上升指数函数,即从t = -infinity到t = 0的* exp(at),并且对于所有t> 0,函数为零。正如您所看到的,不可能翻译此函数并在我的问题中使用区间t = 0到t = infinity。所以,我希望ode45能够在负面工作。

谢谢!

编辑:经过一番思考后,我意识到我的问题措辞严厉,我的理解也很差,所以让我在这里重申一下。

我的ODE的形式为x'= f(t)x,其中f(t)= a * exp(at)从-infinity到0.系统从t = -infinity处的一些初始条件开始。另一方面,ode45要求tspan为正,并且还需要t = 0时的初始条件。那么我该如何改变这两个标准呢?

谢谢:)

1 个答案:

答案 0 :(得分:0)

使用向后的linspace来生成t。

对于正向(t),使用t = 0:0.1:2之类的东西。 对于反向(rt),使用类似rt = 2:0-.1:0的东西。