MATLAB课程PPT第五章.ppt
《MATLAB课程PPT第五章.ppt》由会员分享,可在线阅读,更多相关《MATLAB课程PPT第五章.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第五章第五章 数据分析数据分析5.1 5.1 线性方程组线性方程组 5.1.1 5.1.1 线性方程求解线性方程求解 在矩阵的表示方法中,线性方程的求解可以表述为:给定两个在矩阵的表示方法中,线性方程的求解可以表述为:给定两个矩阵矩阵A A和和B B,求,求 X X 的唯一解使得:的唯一解使得:AX=BAX=B 或或 XA=BXA=B X=AB:X=AB:表示求矩阵方程表示求矩阵方程AX=BAX=B的解的解 X=B/A:X=B/A:表示求矩阵方程表示求矩阵方程XA=BXA=B的解的解 (B/A)=(AB)(B/A)=(AB)矩阵矩阵A A并不要求是方阵,若并不要求是方阵,若A A是是m*nm
2、*n的矩阵,则存在以的矩阵,则存在以下三种情况:下三种情况:1)m=n:1)m=n:适定方程组,寻求精确解;适定方程组,寻求精确解;2)mn:2)mn:超定方程组,寻求最小二乘解超定方程组,寻求最小二乘解;3)mn:3)mn:不定方程组,寻求基本解不定方程组,寻求基本解.对于不同的情况,左除算子采用不同的算法求解。对于不同的情况,左除算子采用不同的算法求解。5.1.1 5.1.1 线性方程求解线性方程求解5.1.1 5.1.1 线性方程求解线性方程求解 1 1、适定方程组:、适定方程组:一般形式的线性方程组为:一般形式的线性方程组为:Ax=b Ax=b 或或 AX=B AX=B 求解命令是:求
3、解命令是:x=Ab X=AB x=Ab X=AB 2 2、超定方程组:、超定方程组:对于超定方程,在对于超定方程,在MATLABMATLAB中,利用左除命令寻求它的最小二乘解,中,利用左除命令寻求它的最小二乘解,其调用格式是:其调用格式是:x=Ab x=Ab A*x A*x并不是精确的等于并不是精确的等于b b,但它们的差值小于原始数据的测量误差。,但它们的差值小于原始数据的测量误差。3 3、不定方程组:、不定方程组:解不唯一,解不唯一,MATLAB MATLAB 将寻求一个基本解,其中至多只有将寻求一个基本解,其中至多只有m m个非零元个非零元素。素。5.1.2 5.1.2 矩阵分解矩阵分解
4、MATLABMATLAB中几种常用的矩阵分解方法,相关的函数见下表:中几种常用的矩阵分解方法,相关的函数见下表:命命 令令功功 能能 说说 明明cholcholesky分分解解对称正定矩阵的分解,用于求解方程组对称正定矩阵的分解,用于求解方程组lu矩阵矩阵LU分解分解将矩阵采用将矩阵采用LU分解,直接求解线性方程组分解,直接求解线性方程组qr正交三角分正交三角分解解将矩阵分解为正交矩阵或酉矩阵和上三角将矩阵分解为正交矩阵或酉矩阵和上三角矩阵矩阵5.1.2 5.1.2 矩阵分解矩阵分解 Cholesky Cholesky 分解的函数分解的函数 chol chol 的调用格式为:的调用格式为:R=
5、chol(X):R=chol(X):X X是对称正定矩阵,是对称正定矩阵,R R是上三角阵是上三角阵(对角线为正对角线为正),使得,使得 R*R=X R*R=X,若,若X X是非正定的,将给出错误信息。是非正定的,将给出错误信息。R,p=chol(X):R,p=chol(X):不会给出错误信息,若不会给出错误信息,若X X是正定的,是正定的,p p等于等于0 0,R R同上;同上;若若X X不是正定的,则不是正定的,则p p为正整数,为正整数,R R是上三角矩阵,它的阶数为是上三角矩阵,它的阶数为q=p-1q=p-1,Cholesky Cholesky 分解允许对线性方程组分解允许对线性方程组
6、 A*x=bA*x=b 进行如下替换:进行如下替换:R*R*x=b R*R*x=b 由于左除算子可以处理三角矩阵,因此可以得出:由于左除算子可以处理三角矩阵,因此可以得出:x=R(Rb)x=R(Rb)一、一、CholeskyCholesky分解分解5.1.2 5.1.2 矩阵分解矩阵分解二、二、LU LU分解分解 函数函数lu lu 的调用格式:的调用格式:L,U=lu(A):L,U=lu(A):U U是上三角矩阵,是上三角矩阵,L L是是“心理上心理上”的下三角阵,实际的下三角阵,实际上,上,它是下三角阵和置换矩阵的乘积,结果使得:它是下三角阵和置换矩阵的乘积,结果使得:A=L*UA=L*U
7、 L,U,P=lu(A):L,U,P=lu(A):L L是下三角矩阵,上三角矩阵是下三角矩阵,上三角矩阵U U 和置换矩阵和置换矩阵P P,使,使得:得:P*A=L*U P*A=L*U LU LU 分解允许对线性方程分解允许对线性方程 A*x=bA*x=b 进行如下计算:进行如下计算:x=U(Lb)x=U(Lb)LULU分解分解或或 Gaussian Gaussian 消去法消去法,可以将任何方阵表示为,可以将任何方阵表示为一个下三角矩阵一个下三角矩阵L L和上三角矩阵和上三角矩阵U U的乘积的乘积,即:即:A=LUA=LU5.1.2 5.1.2 矩阵分解矩阵分解 三、正交分解三、正交分解 正
8、交分解正交分解或或QRQR分解分解,将方阵或矩形矩阵,将方阵或矩形矩阵A A分解为一个正交矩阵分解为一个正交矩阵Q Q和一个上三角矩阵和一个上三角矩阵R R 的乘积,即:的乘积,即:A=QR A=QR 或或 AP=QR AP=QR 函数函数qrqr的用法如下:的用法如下:Q,R=qr(X):Q,R=qr(X):上三角矩阵上三角矩阵R R和正交矩阵和正交矩阵Q Q,使得:,使得:X=Q*R(RX=Q*R(R与与X X同维同维)Q,R,E=qr(X):Q,R,E=qr(X):置换矩阵置换矩阵E E,使得:,使得:X*E=Q*R X*E=Q*R Q,R=qr(X,0)Q,R=qr(X,0)和和Q,R
9、,E=qr(X,0)Q,R,E=qr(X,0):其中,其中,E E是一个置换向量,是一个置换向量,使得:使得:Q*R=X(:,E)Q*R=X(:,E)。5.2 5.2 非线性数值计算非线性数值计算 5.2.1 5.2.1 非线性函数最小值点非线性函数最小值点 1 1、求单变量函数最小值点、求单变量函数最小值点 求单变量函数最小值点的函数是求单变量函数最小值点的函数是:fminbndfminbnd,其调用格式是:,其调用格式是:x,fval,exitflag,output=x,fval,exitflag,output=fminbnd(fun,x1,x2,options,p1,p2,)fminbn
10、d(fun,x1,x2,options,p1,p2,)fun fun 是被计算最小值点的单变量函数(目标函数)名称字符串;是被计算最小值点的单变量函数(目标函数)名称字符串;x1x1、x2x2是目标函数自变量的取值范围;是目标函数自变量的取值范围;p1p1、p2,p2,是向目标函数传是向目标函数传递的附加参数;递的附加参数;optionsoptions是一个结构类型的变量,用于指定算法的是一个结构类型的变量,用于指定算法的优化参数。该结构的内容用函数优化参数。该结构的内容用函数 optimset optimset 进行定义,若没有优化进行定义,若没有优化参数要设置,可以在参数要设置,可以在op
11、tionsoptions的位置用的位置用“”“”作为占位符。作为占位符。5.2.1 5.2.1 非线性函数最小值点非线性函数最小值点 1 1、求单变量函数最小值点、求单变量函数最小值点Display:Display:显示的层次,显示的层次,off off 不显示输出内容,不显示输出内容,iter iter 显示每次显示每次迭代的输出,迭代的输出,finalfinal只显示最后一次的输出;只显示最后一次的输出;MaxFunEvals:MaxFunEvals:所允许的函数的最大求值次数;所允许的函数的最大求值次数;MaxIter:MaxIter:所允许的最大迭代数;所允许的最大迭代数;TolX:T
12、olX:终止迭代的容差值终止迭代的容差值 函数函数fminbndfminbnd使用了结构使用了结构 options options 的四个域,它们的含的四个域,它们的含义如下:义如下:x,fval,exitflag,output=x,fval,exitflag,output=fminbnd(fun,x1,x2,options,p1,p2,)fminbnd(fun,x1,x2,options,p1,p2,)输出参数:输出参数:x x是是 fun fun 的最小值点的最小值点;fvalfval是目标函数在是目标函数在 x x 处处的值的值;exitflagexitflag描述函数描述函数fminb
13、ndfminbnd退出的情况,大于退出的情况,大于0 0表示函数表示函数收敛到了解收敛到了解x x,等于,等于0 0表示达到了所允许的函数最大求值次数。表示达到了所允许的函数最大求值次数。outputoutput是一个结构变量,包含了计算的信息,它共有三个是一个结构变量,包含了计算的信息,它共有三个域:域:5.2.1 5.2.1 非线性函数最小值点非线性函数最小值点 output.algorithm:output.algorithm:使用的算法;使用的算法;output.funcCount:output.funcCount:函数求值次数;函数求值次数;output.iterations:out
14、put.iterations:迭代次数。迭代次数。x,fval,exitflag,output=x,fval,exitflag,output=fminbnd(fun,x1,x2,options,p1,p2,)fminbnd(fun,x1,x2,options,p1,p2,)例:求内联函数例:求内联函数 f(x,a)=x4+2x2+2ax+5 的最小值。的最小值。5.2.1 5.2.1 非线性函数最小值点非线性函数最小值点 函数函数fminsearchfminsearch用于求多变量函数的最小值点,其调用格式是:用于求多变量函数的最小值点,其调用格式是:x,fval,exitflag,outpu
15、t=x,fval,exitflag,output=fminsearch(fun,x0,options,p1,p2,)fminsearch(fun,x0,options,p1,p2,)其中,其中,x0 x0 是最小值点的初始值,一般是猜测的;是最小值点的初始值,一般是猜测的;结构结构optionsoptions的域比函数的域比函数 fminbnd fminbnd 中增加一个中增加一个-TolFun,-TolFun,指终止计算的目标指终止计算的目标函数容差值函数容差值;退出标志退出标志 exitflag exitflag 也比函数也比函数 fminbnd fminbnd 中增加一种情况:小于中增加
16、一种情况:小于0 0,表示目标函数不收敛。,表示目标函数不收敛。2 2、求多变量函数最小值点、求多变量函数最小值点例:求函数例:求函数 f(x)=100(x2-x12)2+(a-x1)2 的最小值。的最小值。5.2.2 5.2.2 单变量函数零点单变量函数零点 求单变量函数零点的函数是求单变量函数零点的函数是fzerofzero,其调用格式是:,其调用格式是:x,fval,exitflag,output=x,fval,exitflag,output=fzero(fun,x0,options,p1,p2,)fzero(fun,x0,options,p1,p2,)其中,其中,参数参数 x0 x0
17、指定搜索的起始点,同时也预定搜索零点的大指定搜索的起始点,同时也预定搜索零点的大致位置;致位置;结构结构optionsoptions中只有两个域:中只有两个域:Display Display 和和 TolX TolX 输出参数输出参数 exitflag exitflag 大于大于0 0表示找到了函数的零点,小于表示找到了函数的零点,小于0 0表示表示没有找到零点或在搜索过程中遇到了无穷大的函数值。没有找到零点或在搜索过程中遇到了无穷大的函数值。例:求函数例:求函数 f(x)=x4-ax-5a+7 的零点的零点5.2.3 5.2.3 常微分方程(组)数值解常微分方程(组)数值解刚性问题刚性问题,
18、对于一个常微分方程组,如果其,对于一个常微分方程组,如果其 Jacobian Jacobian 矩阵的矩阵的特征值相差十分悬殊,那么这个方程组就称为刚性方程组。特征值相差十分悬殊,那么这个方程组就称为刚性方程组。七种函数对应解法的特点:七种函数对应解法的特点:1)ode45:1)ode45:四阶四阶/五阶龙格五阶龙格库塔法,单步解法,对很多问题都是库塔法,单步解法,对很多问题都是首先试用的最好方法,但不能解决刚性问题;首先试用的最好方法,但不能解决刚性问题;2)ode23:2)ode23:二阶二阶/三阶龙格三阶龙格库塔法,单步解法,在误差容许范围库塔法,单步解法,在误差容许范围较宽且存在轻微刚
19、性时比较宽且存在轻微刚性时比ode45ode45效果好;效果好;3)ode113:3)ode113:可变阶次可变阶次Adams-Bashforth-Moulton PECEAdams-Bashforth-Moulton PECE算法,多步算法,多步解法,比解法,比ode45ode45更适合于误差容许范围要求较严格的情况,不能解更适合于误差容许范围要求较严格的情况,不能解决刚性问题决刚性问题.MATLAB MATLAB提供了七种解法,分别由七个不同的函数来完成,提供了七种解法,分别由七个不同的函数来完成,它们是:它们是:ode45 ode23 ode113 ode15s ode23s ode23
20、t ode23tbode45 ode23 ode113 ode15s ode23s ode23t ode23tb5.2.3 5.2.3 常微分方程(组)数值解常微分方程(组)数值解4)ode15s:4)ode15s:可变阶次的数值微分公式算法,多步解法,若用可变阶次的数值微分公式算法,多步解法,若用ode45ode45效果很差或者失败,可以考虑试用效果很差或者失败,可以考虑试用ode15sode15s,且可解决刚,且可解决刚性问题;性问题;5)ode23s:5)ode23s:基于修正的基于修正的 Rosenbrock Rosenbrock 公式,单步解法,比公式,单步解法,比ode15sode
21、15s更适用于误差容许范围较宽的情况,可以解决一些采用更适用于误差容许范围较宽的情况,可以解决一些采用ode15sode15s效果不好的刚性问题;效果不好的刚性问题;6)ode23t:6)ode23t:采用自由内插法实现的梯形规则,适用于系统存在采用自由内插法实现的梯形规则,适用于系统存在适度刚性并要求无数值衰减的情况;适度刚性并要求无数值衰减的情况;7)ode23tb:7)ode23tb:龙格龙格库塔公式的第一级采用梯形规则、第二级采库塔公式的第一级采用梯形规则、第二级采用用GearGear法。对于误差容限较宽的情况,比法。对于误差容限较宽的情况,比ode15sode15s效果更好,可效果更
22、好,可解决刚性问题。解决刚性问题。5.2.3 5.2.3 常微分方程(组)数值解常微分方程(组)数值解 函数函数ode45ode45的调用格式为:的调用格式为:T,Y=ode45(F,tspan,y0,options,p1,p2,)T,Y=ode45(F,tspan,y0,options,p1,p2,)输入参数:输入参数:F F 是常微分方程组的文件名字符串是常微分方程组的文件名字符串;tspan;tspan是向是向量,一般形如:量,一般形如:t0 tfinal,t0 tfinal,指定求解的起始值和终止值,若需要指定求解的起始值和终止值,若需要得到指定时刻的结果,也可以采用得到指定时刻的结果
23、,也可以采用:t0,t1,tfinal;y0:t0,t1,tfinal;y0是初始是初始状态向量;状态向量;optionsoptions是一些可选的综合参数,由函数是一些可选的综合参数,由函数odesetodeset进行设进行设置。置。输出参数:输出参数:T T为时间列向量,为时间列向量,Y Y是数值解矩阵,它的每一行对应是数值解矩阵,它的每一行对应着列向量着列向量T T中的一个时间值。中的一个时间值。例例1 1:解常微分方程组,已知常微分方程组及初始条件如下:解常微分方程组,已知常微分方程组及初始条件如下:y1=y2y3 y1(0)=0y1=y2y3 y1(0)=0y2=-y1y3 y2(0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 课程 PPT 第五
限制150内