0

我正在尝试在 MATLAB 中使用 ode23 求解微分方程,但在给定的问题中,给定的值与端点不同。例如:y'+y=2, y(0)=0, t on [-2,10]。ode23 需要 y0,但在这种情况下,我需要 y(0)=0 而不是 y(-2)=0。如何更改 ode23 的参数,以便它仍然告诉我区间 [-2,10] 上的值以及 y(0)=0 的值?

4

1 回答 1

2

您可以拆分问题并解决

    " y'(t) = f(t,y(t)) on (0,10] , y(0) = 0 "    (a)

    " y'(t) = f(t,y(t)) on [-2,0) , y(0) = 0 , "    (b)

其中 (a) 直接适合 ode23,而 (b) 必须通过变量变换重写t := -t以给出

    " y'(t) = -f(t,y(t)) on (0,2] , y(0) = 0 . "

由于 ode23 基于单步法,分割积分区间的方法是合法的。

于 2013-02-01T13:00:09.197 回答