在MATLAB中使用ode23:在端点处没有给出值

时间:2013-02-01 00:46:18

标签: matlab differential-equations

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

1 个答案:

答案 0 :(得分: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基于单步方法,因此分割积分区间的方法是合法的。