一、数值微分和数值积分1.向前差分的函数diff
dx=diff(x )一次前向差分dx ) I )=x ) I1 )-x (I ) ) ) ) ) ) 65
dx=diff(x,n )计算向量x的n阶前向差分
dx=diff(a,n,dim )计算矩阵a的n阶差分
dim=1按列计算
dim=2按行计算
2.数值积分
1 )基于适应滞后的美人法
[l,n ]=四边形(文件名,a,b,工具) )。
2 )基于自适应Gauss-Lobatto方法
[l,n ]=quadl (文件名,a,b,tol ) ) ) ) ) ) )。
filename为被积函数名a,b为积分上下限tol为积分精度,默认值为10^-6
3 )基于全球自适应方法
I=integral(filename,a,b ) a,b可以为无限大
4 )基于自适应dddzfj方法
[ I.err ]==quadk (文件名称,a,b ) ) )。
a、b可以无限大,也可以是多个
5 )梯形积分法
I=trapz(x,y ) x,y是坐标点
6 )多重积分数值求解
二重积分:
I=integral2(文件名称、a、b、c、d ) )。
I=quad 2d (文件名、a、b、c、d ) )。
I=dbl quad (文件名称、a、b、c、d、tol ) )。
三重积分:
I=integral3(文件名称、a、b、c、d、e、f ) )
I=triplequadI=(filename,a,b,c,d,e,f,tol )
二、求解线性方程1.直接法
ax=B--------x=AB
2.矩阵分解
[L,u]=Lu(a )生成上三角矩阵u和下三角矩阵l,以满足a=Lu(a是方阵)
[L,u,p]=Lu(a )生成上三角矩阵u和下三角矩阵l,以满足PA=LU
x=u(LB ) ) ) ) ) ) 0
3 .非线性方程求解和函数极值计算1.单变量非线性方程求解
x=f zero (文件名,x0 ) ) ) ) ) ) ) ) )。
filename求出根方程式左端的公式,
x0初始值
2.非线性方程组的求解
x=f solve (文件名称,x0,选项) )。
option用于设置调用optimset完成的优化工具箱的优化参数
3.函数极值的计算
如果只考虑最小值的计算,则最大值为-f(x )的最小值
1 )无约束优化问题
[xmin,fmin ]=fmin bnd (文件名称,x1,x2,选项) )。
[xmin,fmin ]=fmin search (文件名称,x0,option ) )。
[xmin,fmin ]=FMI nunc (文件名称,x0,选项) ) ) ) ) )。
x1、x2是左右区间,x0是极值点初始值
2 )有约束的优化问题
[xmin,fmin ]=fmin con (文件名称,x0,a,b,Aeq,beq,Lbnd,Ubnd,Nonf,option ) )。
a、b线性不等式约束、Aeq、beq线性等式约束
Lbnd,Ubnd x的上界和下界
Nonf非线性约束的函数
如果不存在jpdkn个约束,则替换为空矩阵
4.常微分方程的求解
1 )函数的调用格式
[t,y ]=slover (文件名称,tspan,y0,option ) )。
t、y分别为响应时间和数值解,solver是求常微分数值解的函数,filename是定义t、y的函数名,tspan是求解区间,y0是初始状态向量,option用于设定求解属性
2 )函数统一命名格式
odennxx
nn是一个数字,表示所用方法的阶数,xx是专门用于字母表示方法的特征。
例如ode45
3 )二阶微分方程
matlab的函数用于求解一阶微分方程,求解二阶微分方程需要转化为一阶微分方程。
4 )刚度问题
方程式的解中,有些成分变化很快,有些成分变化很慢,相差很远。 这就是刚性的问题
函数以s结束时,可以转换为求解刚性问题的方程
例如:ode45s