ode23
ode45
ode113
ode23t
ode15s
ode23s
ode23tb
[t,YY]=solver('F',tspan,Yo)
解算ODE初值问题的最简调用格式。
solver指上面的指令。
tspan=[0,30];
y0=[1;0];
[tt,yy]=ode45(@DyDt,tspan,y0);
plot(tt,yy(:,1)),title('x(t)')
function
ydot=[y(2);
刚性方程:刚性是指其Jacobian矩阵的特征值相差十分悬殊。在解的性态上表现为,其中一些解变化缓慢,另一些变化快,且相差较悬殊,这类方程常常称为刚性方程,又称为Stiff方程。
刚性方程和非刚性方程对解法中步长选择的要求不同。
刚性方程一般不适合由ode45这类函数求解,而应该采用ode15s等。
如果不能分辨是否是刚性方程,先试用ode45,再用ode15s。
[t,YY,Te,Ye,Ie]
解算ODE初值问题的最完整调用格式。
为了能够解出方程,要用指令odeset确定求解的条件和要求。在MATLAB中,求解方程组的指令都有默认的求解的条件和要求(由结构数组options表示),但可以用odeset修改或重新建立,也可以用odeget去获取已有的“优化选项”的信息。指令odeset和odeget用法介绍如下:
语句格式如下:
options=odeset(‘name1’,value1,’name2’,value2,…)
options=odeset(oldopts,‘name1’,value1,’name2’,value2,…)
options=odeset(oldopts,newopts)
odeset
第一种调用格式是指定各个参数的取值,对不指定取值的参数,取默认值。在不引起混淆的情况下,参数名可以只键入前面的几个字母,也不必区分大小写,如用“abst”表示AbsTol.但数值的输入必须格式正确,否则仍采用默认值。
第二种格式使用了原来的优化选项,但对其中的参数1等指定了新值。
第三种格式合并了两个优化选项oldopts
第四种格式可在屏幕上显示如下全部可设置的参数及其默认值。
键入help
RelTol
AbsTol
OutputFcn
默认值为‘odeplot’,其它选项有:
语句格式:
val=odeget(options,’name’)
这里options是由odeset设定的优化选项。
该语句从优化选项中提取指定的参数的取值。如果该参数没有指定值,则返回空阵[]。
options
odeget(options,'Reltol')
options=odeset(options,'Reltol',1e-6)
odeget(options,'Reltol')
function
ydot=[-8/3*y(1)+y(2)*y(3);
axis([10
view(3)
hold
title('Lorenz
options=odeset('OutputFcn','odephas3');
[t,y]=ode23(@lorenfcn,[0
%