使用ODE函数求解微分方程组,需要转化为标准形式:M(t,y)y'=F(t,y);
对于不是标准形式的微分方程(组),则需要通过相应的技术手段将其转化为标准形式,然后调用ode函数求解。
这里介绍F(t,y)中含有积分项的微分方程的求解方法,求解的关键在于对积分项的处理。
方程来源于小木虫论坛交流贴,含有积分项的方程(组)如下:
y1'=y1'*N*exp(A)-y1-arf*y1*y2;
y2'=arf*y1*y2-kxi*y2;
其中积分项 A=-int(y1,0,t);
求解范围 tspan = [0 0.05];
初始条件 y1(0)=1.6, y2(0)=0.7
示例代码如下:
**********************************
完整代码请加文末企鹅号
function jifen_ode
% dx(1)=dx(1)*N*exp(A)-x(1)-arf*x(1)*x(2);
% dx(2)=arf*x(2)*x(1)-kxi*x(2);
% A=-int(y(1),0,t);
%%--------------------------------------------
% ODE函数求解微分方程组,需要转化为标准形式:M(t,y)y'=F(t,y);
% 对于不是标准形式的微分方程(组),则需要通过技术手段将其转化为标准形式
% 本例子中方程一含有指数积分项,ODE函数无法直接求解,需要消去积分项
%%---------------------------
t0=0;
t1=0.05;
y1_0=1.6;
y2_0=0.7;
****************
LL=legend('{\itx}_1(t)','{\itx}_2(t)','Location','best');
set(LL,'fontname','Times New Roman');
xlabel('\itt','fontsize',16);
%%----------------------------
对于不是标准形式的微分方程(组),则需要通过相应的技术手段将其转化为标准形式,然后调用ode函数求解。
这里介绍F(t,y)中含有积分项的微分方程的求解方法,求解的关键在于对积分项的处理。
方程来源于小木虫论坛交流贴,含有积分项的方程(组)如下:
y1'=y1'*N*exp(A)-y1-arf*y1*y2;
y2'=arf*y1*y2-kxi*y2;
其中积分项
求解范围 tspan = [0 0.05];
初始条件 y1(0)=1.6, y2(0)=0.7
示例代码如下:
**********************************
完整代码请加文末企鹅号
function jifen_ode
% dx(1)=dx(1)*N*exp(A)-x(1)-arf*x(1)*x(2);
% dx(2)=arf*x(2)*x(1)-kxi*x(2);
% A=-int(y(1),0,t);
%%--------------------------------------------
% ODE函数求解微分方程组,需要转化为标准形式:M(t,y)y'=F(t,y);
% 对于不是标准形式的微分方程(组),则需要通过技术手段将其转化为标准形式
% 本例子中方程一含有指数积分项,ODE函数无法直接求解,需要消去积分项
%%---------------------------
t0=0;
t1=0.05;
y1_0=1.6;
y2_0=0.7;
****************
LL=legend('{\itx}_1(t)','{\itx}_2(t)','Location','best');
set(LL,'fontname','Times New Roman');
xlabel('\itt','fontsize',16);
%%----------------------------
