中国高校课件下载中心 》 教学资源 》 大学文库

《MATLAB程序设计》课程电子教案(PPT课件讲稿)第7章 MATLAB解方程与函数极值

文档信息
资源类别:文库
文档格式:PPT
文档页数:28
文件大小:66.5KB
团购合买:点击进入团购
内容简介
7.1 线性方程组求解 7.2 非线性方程数值求解 7.3 常微分方程初值问题的数值解法 7.4 函数极值
刷新页面文档预览

第7章 MATLAB解方程与函数极值 7.1线性方程组求解 7.2非线性方程数值求解 7.3常微分方程初值问题的数值解法 74函数极值

第7章 MATLAB解方程与函数极值 7.1 线性方程组求解 7.2 非线性方程数值求解 7.3 常微分方程初值问题的数值解法 7.4 函数极值

7I线性方程组求解 711直接解法 利用左除运算符的直接解法 对于线性方程组Ax=b,可以利用左除运算符“求解: XEAlb

7.1 线性方程组求解 7.1.1 直接解法 1.利用左除运算符的直接解法 对于线性方程组Ax=b,可以利用左除运算符“\”求解: x=A\b

例7-1用直接解法求解下列线性方程组。 命令如下: A=[2,1,5,1;1,5,0,7;0,2,1,1;1,6,-1,-4; b={13,9,6,0; X=A\b

例7-1 用直接解法求解下列线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]'; x=A\b

2.利用矩阵的分解求解线性方程组 矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成 若干个矩阵的乘积。常见的矩阵分解有LU分解、QR分解、 Cholesky分解,以及 Schur分解、 Hessenberg分解、奇异 分解等

2.利用矩阵的分解求解线性方程组 矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成 若干个矩阵的乘积。常见的矩阵分解有LU分解、QR分解、 Cholesky分解,以及Schur分解、Hessenberg分解、奇异 分解等

(1)LU分解 矩阵的LU分解就是将一个矩阵表示为一个交换下三角矩阵 和、个上三角矩阵的乘积形式。线性代数中已经证明,只 要方阵A是非奇异的,LU分解总是可以进行的。 MATLAB提供的山函数用于对矩阵进行LU分解,其调用格 式为: 生一个上三角阵U和一个变换形式的下三角 阵I(行交换),使之满足X=LU。注意,这里的矩阵X必须 是方阵。 LUP=u(X):产生一个上三角阵U和一个下三角阵以及 个置换矩阵P,使之满足PX=LU。当然矩阵X同样必须 是方阵。 实现LU分解后,线性方程组Ax=b的解x=UNLb)或 x=ULPb),这样可以大大提高运算速度

(1) LU分解 矩阵的LU分解就是将一个矩阵表示为一个交换下三角矩阵 和一个上三角矩阵的乘积形式。线性代数中已经证明,只 要方阵A是非奇异的,LU分解总是可以进行的。 MATLAB提供的lu函数用于对矩阵进行LU分解,其调用格 式为: [L,U]=lu(X):产生一个上三角阵U和一个变换形式的下三角 阵L(行交换),使之满足X=LU。注意,这里的矩阵X必须 是方阵。 [L,U,P]=lu(X):产生一个上三角阵U和一个下三角阵L以及 一个置换矩阵P,使之满足PX=LU。当然矩阵X同样必须 是方阵。 实现LU分解后,线性方程组Ax=b的解x=U\(L\b)或 x=U\(L\Pb),这样可以大大提高运算速度

例7-2用LU分解求解例7-1中的线性方程组。 命令如下: A=[2,1,-5,1;1,5,0,7;0,2,1,-1;1,6,1,-41 b={139,6,0]'; L,U|=u(A); X=U\(L\b) 或采用LU分解的第2种格式,命令如下: L,U, PFlu(a); X=U\LIP*b)

例7-2 用LU分解求解例7-1中的线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]'; [L,U]=lu(A); x=U\(L\b) 或采用LU分解的第2种格式,命令如下: [L,U ,P]=lu(A); x=U\(L\P*b)

(2)QR分解 对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和 个上三角矩阵R的乘积形式。QR分解只能对方阵进行。 MATLAB的函数qr可用于对矩阵进行QR分解,其调用格 式为: Q,R=qr(X:产生一个一个正交矩阵Q和一个上三角矩阵R, 使之满足X=QR。 Q,RE]=qr(x):产生一个一个正交矩阵Q、一个上三角矩阵 R以及一个置换矩阵E,使之满足XE=QR。 实现QR分解后,线性方程组Ax=b的解x=R(Qb)或 XE(RIQIb)

(2) QR分解 对矩阵X进行QR分解,就是把X分解为一个正交矩阵Q和一 个上三角矩阵R的乘积形式。QR分解只能对方阵进行。 MATLAB的函数qr可用于对矩阵进行QR分解,其调用格 式为: [Q,R]=qr(X):产生一个一个正交矩阵Q和一个上三角矩阵R, 使之满足X=QR。 [Q,R,E]=qr(X):产生一个一个正交矩阵Q、一个上三角矩阵 R以及一个置换矩阵E,使之满足XE=QR。 实现QR分解后,线性方程组Ax=b的解x=R\(Q\b)或 x=E(R\(Q\b))

例7-3用QR分解求解例7-1中的线性方程组。 命令如下: A=[2,1,-5,1;1,5,0,7;0,2,1,-1;1,6,1,-41 b={139,6,0]'; IQ,R=gr(A) XRY(Q\b) 或采用QR分解的第2种格式,命令如下: IQ, r,Egr(a); XE*(RY(QIb)

例7-3 用QR分解求解例7-1中的线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]'; [Q,R]=qr(A); x=R\(Q\b) 或采用QR分解的第2种格式,命令如下: [Q,R,E]=qr(A); x=E*(R\(Q\b))

(3) Cholesky分解 如果矩阵X是对称正定的,则 Cholesky分解将矩阵X分解成 下三角矩阵和 角矩阵的乘积。设上三角矩阵为R, 则下三角矩阵为其转置,即XRR。 MATLAB函数chol(X) 用于对矩阵X进行 Cholesky分解,其调用格式为 R=chol(X):.产生一个上三角阵R,使RR=X。若X为非对称 正定,则输出一个出错信息。 IRy]=cho(X):这个命令格式将不输出出错信息。当X为对 正定的,则p=0,R与上述格式得到的结果相同;香则p 为一个正整数。如果X为满秩矩阵,则R为一个阶数为 q=p-1的上三角阵,且满足RR=X(1:q,l:q) 实现 Cholesky分解后,线性方程组Ax=b变成RRx=b,所以 X=RI(R b)

(3) Cholesky分解 如果矩阵X是对称正定的,则Cholesky分解将矩阵X分解成 一个下三角矩阵和上三角矩阵的乘积。设上三角矩阵为R, 则下三角矩阵为其转置,即X=R'R。MATLAB函数chol(X) 用于对矩阵X进行Cholesky分解,其调用格式为: R=chol(X):产生一个上三角阵R,使R'R=X。若X为非对称 正定,则输出一个出错信息。 [R,p]=chol(X):这个命令格式将不输出出错信息。当X为对 称正定的,则p=0,R与上述格式得到的结果相同;否则p 为一个正整数。如果X为满秩矩阵,则R为一个阶数为 q=p-1的上三角阵,且满足R'R=X(1:q,1:q)。 实现Cholesky分解后,线性方程组Ax=b变成R‘Rx=b,所以 x=R\(R’\b)

例7-4用 Cholesky分解求解例7-中的线性方程组。 命令如下: A=[2,1,-5,1;1,5,0,7;0,2,1,-1;1,6,1,-41 b={139,6,0]'; R=chol(a) ??? Error using e> chol Matrix must be positive definite 命令执行时,出现错误信息,说明A为非正定矩阵

例7-4 用Cholesky分解求解例7-1中的线性方程组。 命令如下: A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; b=[13,-9,6,0]'; R=chol(A) ??? Error using ==> chol Matrix must be positive definite 命令执行时,出现错误信息,说明A为非正定矩阵

共28页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档