我正在尝试使用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?
答案 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基于单步方法,因此分割积分区间的方法是合法的。