如何使用ODE45来求解一个具有困难结束条件的微分方程组



我的方程组可以写为-

y1'=F_1(x,y1,y2(

y2'=F_2(x,y1,y2(

其中F1和F2是x,y1,y2的一些函数。y1和y2是x的函数,y1′=dy1_dx,y2′=dy2_dx。

初始条件为x=0,y1=y2=0。然而,我需要y1=1的解,即一旦达到y1=1,迭代就需要停止。我想使用一个合适的求解器来解决它,比如MATLAB中的ODE45或ODE15s。但是,我不确定如何设置x_span,即x的初始值和最终值。请指导我。

请注意,将x设置为一个大值(例如1000(将没有帮助,因为我不知道y1=1在哪里。

使用提供给ODE解算器的事件函数(通常等于y1-1(:https://fr.mathworks.com/help/matlab/math/ode-event-location.html

一旦解算器检测到事件函数的符号变化,它就会停止。