1、MATLAB矩阵分解与线性方程组求解数学与信息科学系 汪远征第第1页页汪远征汪远征4.4.MATLABMATLAB矩阵分解与线性方程组求解矩阵分解与线性方程组求解4.1 4.1 矩阵分解矩阵分解矩阵分解矩阵分解4.2 4.2 秩与线性相关性秩与线性相关性秩与线性相关性秩与线性相关性4.3 4.3 线性方程组求解线性方程组求解线性方程组求解线性方程组求解4.4 4.4 特征值与二次型特征值与二次型特征值与二次型特征值与二次型第第2页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.1 LU分解矩矩矩矩阵阵阵阵三三三三角角角角分分分分解解解解又又又又称称称称LULU分分分分解解解解,它它
2、它它目目目目标标标标是是是是将将将将一一一一个个个个矩矩矩矩阵阵阵阵分分分分解解解解成成成成一一一一个个个个下下下下三三三三角角角角矩矩矩矩阵阵阵阵L L和和和和一一一一个个个个上上上上三三三三角角角角矩矩矩矩阵阵阵阵U U乘乘乘乘积积积积,即即即即A=LUA=LU。MatlabMatlab使用函数使用函数使用函数使用函数lulu实现实现实现实现LULU分解,其格式为:分解,其格式为:分解,其格式为:分解,其格式为:L,U=lu(A)L,U=lu(A)其其其其中中中中U U为为为为上上上上三三三三角角角角阵阵阵阵,L L为为为为下下下下三三三三角角角角阵阵阵阵或或或或其其其其变变变变换换换换形
3、形形形式式式式,满满满满足足足足LU=ALU=A。第第3页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.1 LU分解L,U,P=lu(A)L,U,P=lu(A)U U为为为为上上上上三三三三角角角角阵阵阵阵,L L为为为为下下下下三三三三角角角角阵阵阵阵,P P为为为为单单单单位位位位矩矩矩矩阵阵阵阵行行行行变变变变换换换换矩矩矩矩阵,满足阵,满足阵,满足阵,满足LU=PALU=PA。例例例例4-14-1A=1 2 3;4 5 6;7 8 9;A=1 2 3;4 5 6;7 8 9;L,U=lu(A)L,U=lu(A)L,U,P=lu(A)L,U,P=lu(A)第第4页页汪远征汪
4、远征4.1 4.1 矩阵分解矩阵分解n n4.1.2 Cholesky分解假假假假如如如如A A为为为为n n阶阶阶阶对对对对称称称称正正正正定定定定矩矩矩矩阵阵阵阵,则则则则存存存存在在在在一一一一个个个个实实实实非非非非奇奇奇奇异异异异上上上上三三三三角阵角阵角阵角阵R R,满足,满足,满足,满足R*R=AR*R=A,称为,称为,称为,称为CholeskyCholesky分解分解分解分解MatlabMatlab使用函数使用函数使用函数使用函数cholchol实现实现实现实现CholeskyCholesky分解,其格式为:分解,其格式为:分解,其格式为:分解,其格式为:R=chol(A)R=
5、chol(A)若若若若A A非正定,则产生错误信息。非正定,则产生错误信息。非正定,则产生错误信息。非正定,则产生错误信息。R,p=chol(A)R,p=chol(A)不不不不产产产产生生生生任任任任何何何何错错错错误误误误信信信信息息息息,若若若若A A为为为为正正正正定定定定阵阵阵阵,则则则则p=0p=0,R R与与与与上上上上相同;若相同;若相同;若相同;若A A非正定,则非正定,则非正定,则非正定,则p p为正整数,为正整数,为正整数,为正整数,R R是有序上三角阵。是有序上三角阵。是有序上三角阵。是有序上三角阵。第第5页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.2
6、Cholesky分解例例例例4-24-2A=pascal(4)A=pascal(4)%产生产生产生产生4 4阶阶阶阶pascalpascal矩阵矩阵矩阵矩阵R,p=chol(A)R,p=chol(A)第第6页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.3 QR分解将将将将矩矩矩矩阵阵阵阵A A分分分分解解解解成成成成一一一一个个个个正正正正交交交交矩矩矩矩阵阵阵阵QQ与与与与一一一一个个个个上上上上三三三三角角角角矩矩矩矩阵阵阵阵R R乘乘乘乘积积积积A=QRA=QR,称为,称为,称为,称为QRQR分解。分解。分解。分解。MatlabMatlab使用函数使用函数使用函数使用函数
7、qrqr实现实现实现实现QRQR分解,其格式为:分解,其格式为:分解,其格式为:分解,其格式为:Q,R=qr(A)Q,R=qr(A)Q,R,E=qr(A)Q,R,E=qr(A)求求求求得得得得正正正正交交交交矩矩矩矩阵阵阵阵QQ和和和和上上上上三三三三角角角角阵阵阵阵R R,E E为为为为单单单单位位位位矩矩矩矩阵阵阵阵变变变变换换换换形形形形式式式式,R R对角线元素按大小降序排列,满足对角线元素按大小降序排列,满足对角线元素按大小降序排列,满足对角线元素按大小降序排列,满足AE=QRAE=QR。Q,R=qr(A,0)Q,R=qr(A,0)产生矩阵产生矩阵产生矩阵产生矩阵A A“经济大小经济
8、大小经济大小经济大小”分解分解分解分解第第7页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.3 QR分解MatlabMatlab使用函数使用函数使用函数使用函数qrqr实现实现实现实现QRQR分解,其格式为:分解,其格式为:分解,其格式为:分解,其格式为:Q,R=qr(A)Q,R=qr(A)Q,R,E=qr(A)Q,R,E=qr(A)求求求求得得得得正正正正交交交交矩矩矩矩阵阵阵阵QQ和和和和上上上上三三三三角角角角阵阵阵阵R R,E E为为为为单单单单位位位位矩矩矩矩阵阵阵阵变变变变换换换换形形形形式式式式,R R对角线元素按大小降序排列,满足对角线元素按大小降序排列,满足对角
9、线元素按大小降序排列,满足对角线元素按大小降序排列,满足AE=QRAE=QR。Q,R=qr(A,0)Q,R=qr(A,0)产生矩阵产生矩阵产生矩阵产生矩阵A A“经济大小经济大小经济大小经济大小”分解分解分解分解Q,R,E=qr(A,0)Q,R,E=qr(A,0)E E作用是使得作用是使得作用是使得作用是使得R R对角线元素降序对角线元素降序对角线元素降序对角线元素降序,且且且且Q*R=A(:,E)Q*R=A(:,E)第第8页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.3 QR分解例例例例4-3 4-3 A=1 2 3;4 5 6;7 8 9;10 11 12;A=1 2 3;
10、4 5 6;7 8 9;10 11 12;Q,R=qr(A)Q,R=qr(A)第第9页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.3 QR分解返返返返回回回回将将将将矩矩矩矩阵阵阵阵A A第第第第j j列列列列移移移移去去去去后后后后新新新新矩矩矩矩阵阵阵阵qrqr分分分分解解解解使使使使用用用用函函函函数数数数 qrdeleteqrdelete,其格式为:,其格式为:,其格式为:,其格式为:Q,R=qrdelete(Q,R,j)Q,R=qrdelete(Q,R,j)例例例例4-44-4A=-149-50-154;537 180 546;-27-9-25;A=-149-50-1
11、54;537 180 546;-27-9-25;Q,R=qr(A)Q,R=qr(A)Q,R=qrdelete(Q,R,3)%Q,R=qrdelete(Q,R,3)%将将将将A A第第第第3 3列去掉后进行列去掉后进行列去掉后进行列去掉后进行qrqr分解分解分解分解第第10页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.3 QR分解在在在在矩矩矩矩阵阵阵阵A A中中中中第第第第j j列列列列插插插插入入入入向向向向量量量量x x后后后后新新新新矩矩矩矩阵阵阵阵进进进进行行行行qrqr分分分分解解解解使使使使用用用用函数函数函数函数 qrinsertqrinsert,其格式为:,其格
12、式为:,其格式为:,其格式为:Q,R=qrinsert(Q,R,j,x)Q,R=qrinsert(Q,R,j,x)若若若若j j大于大于大于大于A A列数,表示在列数,表示在列数,表示在列数,表示在A A最终插入列最终插入列最终插入列最终插入列x x。例例例例4-54-5A=-149-50-154;537 180 546;-27-9-25;A=-149-50-154;537 180 546;-27-9-25;x=35 10 7;x=35 10 7;Q,R=qr(A)Q,R=qr(A)Q,R=qrinsert(Q,R,4,x)Q,R=qrinsert(Q,R,4,x)第第11页页汪远征汪远征4.
13、1 4.1 矩阵分解矩阵分解n n4.1.4 Schur分解矩阵矩阵矩阵矩阵SchurSchur分解:设分解:设分解:设分解:设A A R Rn n n n ,则存在正交阵,则存在正交阵,则存在正交阵,则存在正交阵Q Q使使使使 实实实实SchurSchur型型型型其其其其中中中中R Rii ii至至至至多多多多2 2阶阶阶阶。若若若若1 1阶阶阶阶,其其其其元元元元素素素素即即即即A A特特特特征征征征值值值值,若若若若2 2阶阶阶阶其特征值为其特征值为其特征值为其特征值为A A一对共轭复特征值。一对共轭复特征值。一对共轭复特征值。一对共轭复特征值。MatlabMatlab使用函数使用函数使
14、用函数使用函数schurschur实现实现实现实现SchurSchur分解,其格式为:分解,其格式为:分解,其格式为:分解,其格式为:R=schur(A)R=schur(A)R R为为为为schurschur矩阵矩阵矩阵矩阵,即即即即R R主对角线元素为特征值三角阵主对角线元素为特征值三角阵主对角线元素为特征值三角阵主对角线元素为特征值三角阵第第12页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.4 Schur分解MatlabMatlab使用函数使用函数使用函数使用函数schurschur实现实现实现实现SchurSchur分解,其格式为:分解,其格式为:分解,其格式为:分解,其
15、格式为:R=schur(A)R=schur(A)R R为为为为schurschur矩阵矩阵矩阵矩阵,即即即即R R主对角线元素为特征值三角阵主对角线元素为特征值三角阵主对角线元素为特征值三角阵主对角线元素为特征值三角阵R=schur(A,flag)R=schur(A,flag)若若若若A A有复特征根,则有复特征根,则有复特征根,则有复特征根,则flag=complexflag=complex,不然,不然,不然,不然flag=realflag=real。Q,R=schur(A,)Q,R=schur(A,)返回正交矩阵返回正交矩阵返回正交矩阵返回正交矩阵QQ和和和和schurschur矩阵矩阵矩
16、阵矩阵R R,满足,满足,满足,满足A=Q*R*QA=Q*R*Q。第第13页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.4 Schur分解例例例例4-64-6H=-149 -50 -154;537 180 546;-27 -9 -25;H=-149 -50 -154;537 180 546;-27 -9 -25;Q,R=schur(H)Q,R=schur(H)第第14页页汪远征汪远征4.1 4.1 矩阵分解矩阵分解n n4.1.5 实Schur分解转化成复Schur分解将将将将实实实实舒舒舒舒尔尔尔尔形形形形式式式式转转转转化化化化成成成成复复复复舒舒舒舒尔尔尔尔形形形形式式式
17、式函函函函数数数数是是是是rsf2csfrsf2csf,其其其其格格格格式式式式Q,R=rsf2csf(q,r)Q,R=rsf2csf(q,r)例例例例4-74-7 A=1 1 1 3;1 2 1 1;1 1 3 1;-2 1 1 4;A=1 1 1 3;1 2 1 1;1 1 3 1;-2 1 1 4;q,r=schur(A)q,r=schur(A)Q,R=rsf2csf(q,r)Q,R=rsf2csf(q,r)第第15页页汪远征汪远征4.2 4.2 秩与线性相关性秩与线性相关性n n4.2.1 矩阵和向量组秩与向量组线性相关性矩矩矩矩阵阵阵阵A A秩秩秩秩是是是是指指指指矩矩矩矩阵阵阵阵A
18、 A中中中中最最最最高高高高阶阶阶阶非非非非零零零零子子子子式式式式阶阶阶阶数数数数,或或或或是是是是矩矩矩矩阵阵阵阵线线线线性性性性无无无无关关关关行行行行数数数数与与与与列列列列数数数数;向向向向量量量量组组组组秩秩秩秩通通通通常常常常由由由由该该该该向向向向量量量量组组组组组组组组成成成成矩阵来计算。矩阵来计算。矩阵来计算。矩阵来计算。在在在在MATLABMATLAB中,求矩阵秩函数是中,求矩阵秩函数是中,求矩阵秩函数是中,求矩阵秩函数是rankrank。其格式为:。其格式为:。其格式为:。其格式为:k=rank(A)k=rank(A)返回矩阵返回矩阵返回矩阵返回矩阵A A行行行行(或列
19、或列或列或列)向量中线性无关个数向量中线性无关个数向量中线性无关个数向量中线性无关个数k=rank(A,tol)k=rank(A,tol)toltol为给定误差为给定误差为给定误差为给定误差第第16页页汪远征汪远征4.2 4.2 秩与线性相关性秩与线性相关性n n4.2.1 矩阵和向量组秩与向量组线性相关性例例例例4-8 4-8 求求求求向向向向量量量量组组组组 1 1 =(1(1 2 2 2 2 3)3),2 2 =(2 2 4 4 1 1 3)3),3 3 =(1 1 2 2 0 0 3)3),4 4 =(0(0 6 6 2 2 3)3),5 5 =(2(2 6 6 3 3 4)4)秩秩秩
20、秩,并并并并判判判判断其线性相关性。断其线性相关性。断其线性相关性。断其线性相关性。解:解:解:解:A=1-2 2 3;-2 4-1 3;-1 2 0 3;0 6 2 3;2-6 3 4;A=1-2 2 3;-2 4-1 3;-1 2 0 3;0 6 2 3;2-6 3 4;k=rank(A)k=rank(A)结果为结果为结果为结果为因为秩为因为秩为因为秩为因为秩为3 3 向量个数,所以向量组线性相关。向量个数,所以向量组线性相关。向量个数,所以向量组线性相关。向量个数,所以向量组线性相关。第第17页页汪远征汪远征4.2 4.2 秩与线性相关性秩与线性相关性n n4.2.2 求行阶梯矩阵及向量
21、组基行阶梯使用初等行变换,矩阵初等行变换有三条:行阶梯使用初等行变换,矩阵初等行变换有三条:行阶梯使用初等行变换,矩阵初等行变换有三条:行阶梯使用初等行变换,矩阵初等行变换有三条:(1)(1)交换两行交换两行交换两行交换两行r ri i r rj j (第第第第i i、第、第、第、第j j两行交换两行交换两行交换两行交换)(2)(2)第第第第i i行行行行k k倍倍倍倍krkri i(3)(3)第第第第i i行行行行k k倍加到第倍加到第倍加到第倍加到第j j行上去行上去行上去行上去r rj j+krkri i经经经经过过过过这这这这三三三三条条条条变变变变换换换换能能能能够够够够将将将将矩矩
22、矩矩阵阵阵阵化化化化成成成成行行行行最最最最简简简简形形形形,从从从从而而而而找找找找出出出出列向量组一个最大无关组。列向量组一个最大无关组。列向量组一个最大无关组。列向量组一个最大无关组。第第18页页汪远征汪远征4.2 4.2 秩与线性相关性秩与线性相关性n n4.2.2 求行阶梯矩阵及向量组基MatlabMatlab将将将将矩矩矩矩阵阵阵阵化化化化成成成成行行行行最最最最简简简简形形形形命命命命令令令令是是是是rrefrref或或或或rrefmovierrefmovie。其格式为:其格式为:其格式为:其格式为:R=rref(A)R=rref(A)R R 是是是是A A行最简行矩阵行最简行矩
23、阵行最简行矩阵行最简行矩阵R,jb=rref(A)R,jb=rref(A)jbjb是是是是一一一一个个个个向向向向量量量量,其其其其含含含含义义义义为为为为:r r=length(jb)length(jb)为为为为A A秩秩秩秩;A(:,A(:,jb)jb)为为为为A A列向量基;列向量基;列向量基;列向量基;jbjb中元素表示基向量所在列。中元素表示基向量所在列。中元素表示基向量所在列。中元素表示基向量所在列。第第19页页汪远征汪远征4.2 4.2 秩与线性相关性秩与线性相关性n n4.2.2 求行阶梯矩阵及向量组基MatlabMatlab将将将将矩矩矩矩阵阵阵阵化化化化成成成成行行行行最最
24、最最简简简简形形形形命命命命令令令令是是是是rrefrref或或或或rrefmovierrefmovie。其格式为:其格式为:其格式为:其格式为:R,jb=rref(A,tol)R,jb=rref(A,tol)toltol为指定精度为指定精度为指定精度为指定精度rrefmovie(A)rrefmovie(A)给出每一步化简过程给出每一步化简过程给出每一步化简过程给出每一步化简过程第第20页页汪远征汪远征4.2 4.2 秩与线性相关性秩与线性相关性n n4.2.2 求行阶梯矩阵及向量组基例例例例4-9 4-9 求求求求向向向向量量量量组组组组a a1 1=(1,-2,2,3)=(1,-2,2,3
25、),a a2 2=(-2,4,-1,3)=(-2,4,-1,3),a a3 3=(-=(-1,2,0,3)1,2,0,3),a a4 4=(0,6,2,3)=(0,6,2,3),a a5 5=(2,-6,3,4)=(2,-6,3,4)一个最大无关组一个最大无关组一个最大无关组一个最大无关组a1=1 -2 2 3;a2=-2 4 -1 3;a3=-1 2 0 3;a1=1 -2 2 3;a2=-2 4 -1 3;a3=-1 2 0 3;a4=0 6 2 3;a5=2 -6 3 4;a4=0 6 2 3;a5=2 -6 3 4;A=a1 a2 a3 a4 a5A=a1 a2 a3 a4 a5R,j
26、b=rref(A)R,jb=rref(A)A(:,jb)A(:,jb)即:即:即:即:a1 a2 a4a1 a2 a4为向量组一个基。为向量组一个基。为向量组一个基。为向量组一个基。第第21页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解我我我我们们们们将将将将线线线线性性性性方方方方程程程程求求求求解解解解分分分分为为为为两两两两类类类类:一一一一类类类类是是是是方方方方程程程程组组组组求求求求唯唯唯唯一一一一解解解解或或或或求求求求特特特特解解解解,另另另另一一一一类类类类是是是是方方方方程程程程组组组组求求求求无无无无穷穷穷穷解解解解即即即即通通通通解解解解。能能能能够够够够
27、经过系数矩阵秩来判断:经过系数矩阵秩来判断:经过系数矩阵秩来判断:经过系数矩阵秩来判断:若若若若系系系系数数数数矩矩矩矩阵阵阵阵秩秩秩秩r=n(nr=n(n为为为为方方方方程程程程组组组组中中中中未未未未知知知知变变变变量量量量个个个个数数数数),则则则则有有有有唯一解;唯一解;唯一解;唯一解;若系数矩阵秩若系数矩阵秩若系数矩阵秩若系数矩阵秩rnrn,则可能有没有穷解;,则可能有没有穷解;,则可能有没有穷解;,则可能有没有穷解;线线线线性性性性方方方方程程程程组组组组无无无无穷穷穷穷解解解解 =对对对对应应应应齐齐齐齐次次次次方方方方程程程程组组组组通通通通解解解解+非非非非齐齐齐齐次次次次方
28、方方方程程程程组组组组一一一一个个个个特特特特解解解解;其其其其特特特特解解解解求求求求法法法法属属属属于于于于解解解解第第第第一一一一类类类类问问问问题题题题,通通通通解解解解部分属第二类问题。部分属第二类问题。部分属第二类问题。部分属第二类问题。第第22页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu1利用矩阵除法求线性方程组利用矩阵除法求线性方程组AX=b特解特解当当当当系系系系数数数数矩矩矩矩阵阵阵阵A A为为为为N*NN*N方方方方阵阵阵阵时时时时,MATLABMATLAB会会会会自自自自行行行行用用用用高高高高斯斯斯斯消去法
29、求解线性代数方程组。消去法求解线性代数方程组。消去法求解线性代数方程组。消去法求解线性代数方程组。若若若若右右右右端端端端项项项项b b为为为为N*1N*1列列列列向向向向量量量量,则则则则x=Abx=Ab可可可可取取取取得得得得方方方方程程程程组组组组数数数数值值值值解解解解x x(N*1N*1列向量);列向量);列向量);列向量);若若若若右右右右端端端端项项项项b b为为为为N*MN*M矩矩矩矩阵阵阵阵,则则则则x=Abx=Ab可可可可同同同同时时时时取取取取得得得得同同同同一一一一系系系系数数数数矩矩矩矩阵阵阵阵A A、MM个个个个方方方方程程程程组组组组数数数数值值值值解解解解x x
30、(为为为为N*MN*M矩矩矩矩阵阵阵阵),即即即即x(:,j)=Ab(:,j)x(:,j)=Ab(:,j),j=1,2,Mj=1,2,M。第第23页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu1利用矩阵除法求线性方程组利用矩阵除法求线性方程组AX=b特解特解解法:解法:解法:解法:X=AbX=Ab例例例例4-10 4-10 求方程组求方程组求方程组求方程组 解。解。解。解。解:解:解:解:A=5 6 0 0 0A=5 6 0 0 0 1 5 6 0 0 1 5 6 0 0 0 1 5 6 0 0 1 5 6 0 0 0 1 5 6 0
31、 0 1 5 6 0 0 0 1 5;B=1 0 0 0 1;0 0 0 1 5;B=1 0 0 0 1;R_A=rank(A)R_A=rank(A)%求秩求秩求秩求秩X=AB X=AB%求解求解求解求解第第24页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu1利用矩阵除法求线性方程组利用矩阵除法求线性方程组AX=b特解特解解:解:解:解:A=5 6 0 0 0A=5 6 0 0 0 1 5 6 0 0 1 5 6 0 0 0 1 5 6 0 0 1 5 6 0 0 0 1 5 6 0 0 1 5 6 0 0 0 1 5;B=1 0 0
32、 0 1;0 0 0 1 5;B=1 0 0 0 1;R_A=rank(A)%R_A=rank(A)%求秩求秩求秩求秩X=AB%X=AB%求解求解求解求解运行后结果以下运行后结果以下运行后结果以下运行后结果以下这就是方程组解。这就是方程组解。这就是方程组解。这就是方程组解。第第25页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu1利用矩阵除法求线性方程组利用矩阵除法求线性方程组AX=b特解特解或用函数或用函数或用函数或用函数rrefrref求解:求解:求解:求解:C=A,BC=A,B%由系数矩阵和常数列组成增广矩阵由系数矩阵和常数列组成
33、增广矩阵由系数矩阵和常数列组成增广矩阵由系数矩阵和常数列组成增广矩阵C CR=rref(C)R=rref(C)%将将将将C C化成行最简行化成行最简行化成行最简行化成行最简行则则则则R R最终一列元素就是所求之解。最终一列元素就是所求之解。最终一列元素就是所求之解。最终一列元素就是所求之解。第第26页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu1利用矩阵除法求线性方程组利用矩阵除法求线性方程组AX=b特解特解例例例例4-11 4-11 求方程组求方程组求方程组求方程组 一个特解一个特解一个特解一个特解解:解:解:解:A=1 1-3-1
34、;3-1-3 4;1 5-9-8;A=1 1-3-1;3-1-3 4;1 5-9-8;B=1 4 0;B=1 4 0;X=ABX=AB%因为系数矩阵不满秩因为系数矩阵不满秩因为系数矩阵不满秩因为系数矩阵不满秩,该解法可能存在误差该解法可能存在误差该解法可能存在误差该解法可能存在误差X=0 0 -0.5333 0.6000 X=0 0 -0.5333 0.6000 一个特解近似值一个特解近似值一个特解近似值一个特解近似值第第27页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu1利用矩阵除法求线性方程组利用矩阵除法求线性方程组AX=b特解特
35、解例例例例4-11 4-11 求方程组求方程组求方程组求方程组 一个特解一个特解一个特解一个特解解:解:解:解:若用若用若用若用rrefrref求解,则比较准确:求解,则比较准确:求解,则比较准确:求解,则比较准确:A=1 1-3-1;3-1-3 4;1 5-9-8;A=1 1-3-1;3-1-3 4;1 5-9-8;B=1 4 0;B=1 4 0;C=A,B;%C=A,B;%组成增广矩阵组成增广矩阵组成增广矩阵组成增广矩阵R=rref(C)R=rref(C)由此得解向量由此得解向量由此得解向量由此得解向量X=1.2500 0.2500 0 0(X=1.2500 0.2500 0 0(一个特解
36、一个特解一个特解一个特解)。第第28页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu1利用矩阵除法求线性方程组利用矩阵除法求线性方程组AX=b特解特解例例例例4-12 4-12 解方程组解方程组解方程组解方程组 (1)(1)AxAx=b b1 1;(2)(2)AyAy=b b2 2 解法解法解法解法1 1:分别解方程组:分别解方程组:分别解方程组:分别解方程组 (1)(1)AxAx=b b1 1;(2)(2)AyAy=b b2 2A=1-1 1;5-4 3;2 1 1;A=1-1 1;5-4 3;2 1 1;b1=2;-3;1;b1=2
37、;-3;1;b2=3;4;-5;b2=3;4;-5;x=Ab1x=Ab1y=Ab2y=Ab2第第29页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu1利用矩阵除法求线性方程组利用矩阵除法求线性方程组AX=b特解特解例例例例4-12 4-12 解方程组解方程组解方程组解方程组 (1)(1)AxAx=b b1 1;(2)(2)AyAy=b b2 2 解法解法解法解法1 1:分别解方程组:分别解方程组:分别解方程组:分别解方程组 (1)(1)AxAx=b b1 1;(2)(2)AyAy=b b2 2得两个线性代数方程组解:得两个线性代数方程组
38、解:得两个线性代数方程组解:得两个线性代数方程组解:(1)x1=-3.8(1)x1=-3.8,x2=1.4x2=1.4,x3=7.2x3=7.2;(2)y1=-3.6(2)y1=-3.6,y2=2.2y2=2.2,y3=4.4y3=4.4第第30页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu1利用矩阵除法求线性方程组利用矩阵除法求线性方程组AX=b特解特解例例例例4-12 4-12 解方程组解方程组解方程组解方程组 (1)(1)AxAx=b b1 1;(2)(2)AyAy=b b2 2 解法解法解法解法2 2:将两个方程组连在一起求解
39、:将两个方程组连在一起求解:将两个方程组连在一起求解:将两个方程组连在一起求解:Az Az=b bb=2 3;-3 4;1-5b=2 3;-3 4;1-5z=Abz=Ab很很很很显显显显著著著著,这这这这里里里里解解解解z z两两两两个个个个列列列列向向向向量量量量便便便便是是是是前前前前面面面面分分分分别别别别求求求求得得得得两两两两组组组组解解解解x x和和和和y y第第31页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu2利用利用LU、QR和和cholesky分解求方程组解分解求方程组解(1)LU(1)LU分解:分解:分解:分解:
40、LULU分分分分解解解解又又又又称称称称GaussGauss消消消消去去去去分分分分解解解解,可可可可把把把把任任任任意意意意方方方方阵阵阵阵分分分分解解解解为为为为下下下下三角矩阵和上三角矩阵乘积。三角矩阵和上三角矩阵乘积。三角矩阵和上三角矩阵乘积。三角矩阵和上三角矩阵乘积。即即即即A=LUA=LU,L L为下三角阵,为下三角阵,为下三角阵,为下三角阵,U U为上三角阵。则:为上三角阵。则:为上三角阵。则:为上三角阵。则:A*X=bA*X=b变成变成变成变成L*U*X=bL*U*X=b所以所以所以所以X=U(Lb),X=U(Lb),这么能够大大提升运算速度。这么能够大大提升运算速度。这么能够
41、大大提升运算速度。这么能够大大提升运算速度。第第32页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu2利用利用LU、QR和和cholesky分解求方程组解分解求方程组解(1)LU(1)LU分解:分解:分解:分解:例例例例4-13 4-13 求方程组求方程组求方程组求方程组 一个特解。一个特解。一个特解。一个特解。解:解:解:解:A=4 2-1;3-1 2;11 3 0;A=4 2-1;3-1 2;11 3 0;B=2 10 8;B=2 10 8;D=det(A)D=det(A)L,U=lu(A)L,U=lu(A)X=U(LB)X=U(L
42、B)第第33页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu2利用利用LU、QR和和cholesky分解求方程组解分解求方程组解(1)LU(1)LU分解:分解:分解:分解:例例例例4-13 4-13 求方程组求方程组求方程组求方程组 一个特解。一个特解。一个特解。一个特解。解:解:解:解:说说说说明明明明 结结结结果果果果中中中中警警警警告告告告是是是是因因因因为为为为系系系系数数数数行行行行列列列列式式式式为为为为零零零零产产产产生生生生。能能能能够够够够经过经过经过经过A*XA*X验证其正确性。验证其正确性。验证其正确性。验证其正确
43、性。第第34页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu2利用利用LU、QR和和cholesky分解求方程组解分解求方程组解(2)Cholesky(2)Cholesky分解分解分解分解若若若若A A为为为为对对对对称称称称正正正正定定定定矩矩矩矩阵阵阵阵,则则则则CholeskyCholesky分分分分解解解解可可可可将将将将矩矩矩矩阵阵阵阵A A分分分分解解解解成上三角矩阵和其转置乘积,即:成上三角矩阵和其转置乘积,即:成上三角矩阵和其转置乘积,即:成上三角矩阵和其转置乘积,即:A=R*RA=R*R其中其中其中其中R R为上三角阵
44、。为上三角阵。为上三角阵。为上三角阵。方程方程方程方程A*X=bA*X=b变成变成变成变成R*R*X=bR*R*X=b所以所以所以所以X=R(Rb)X=R(Rb)第第35页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu2利用利用LU、QR和和cholesky分解求方程组解分解求方程组解(3)QR(3)QR分解分解分解分解对对对对于于于于任任任任何何何何长长长长方方方方矩矩矩矩阵阵阵阵A A,都都都都能能能能够够够够进进进进行行行行QRQR分分分分解解解解,其其其其中中中中QQ为为为为正交矩阵,正交矩阵,正交矩阵,正交矩阵,R R为上三角
45、矩阵初等变换形式,即:为上三角矩阵初等变换形式,即:为上三角矩阵初等变换形式,即:为上三角矩阵初等变换形式,即:A=QRA=QR方程方程方程方程A*X=bA*X=b变形成变形成变形成变形成QRX=bQRX=b所以所以所以所以X=R(Qb)X=R(Qb)第第36页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.1 求线性方程组唯一解或特解uu2利用利用LU、QR和和cholesky分解求方程组解分解求方程组解(3)QR(3)QR分解分解分解分解上例中上例中上例中上例中Q,R=qr(A)Q,R=qr(A)X=R(QB)X=R(QB)说说说说明明明明:这这这这三三三三种种种种
46、分分分分解解解解,在在在在求求求求解解解解大大大大型型型型方方方方程程程程组组组组时时时时很很很很有有有有用用用用。其其其其优点是运算速度快、能够节约磁盘空间、节约内存。优点是运算速度快、能够节约磁盘空间、节约内存。优点是运算速度快、能够节约磁盘空间、节约内存。优点是运算速度快、能够节约磁盘空间、节约内存。第第37页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.2 求线性齐次方程组通解在在在在 MatlabMatlab中中中中,函函函函 数数数数 nullnull用用用用 来来来来 求求求求 解解解解 零零零零 空空空空 间间间间,即即即即 满满满满 足足足足AX=0
47、AX=0解解解解空空空空间间间间,实实实实际际际际上上上上是是是是求求求求出出出出解解解解空空空空间间间间一一一一组组组组基基基基(基基基基础础础础解解解解系系系系)。其格式为:。其格式为:。其格式为:。其格式为:z=null(A)z=null(A)z z列向量为方程组正交规范基,满足列向量为方程组正交规范基,满足列向量为方程组正交规范基,满足列向量为方程组正交规范基,满足z z z z=I I。z=null(A,r)z=null(A,r)z z列向量是方程列向量是方程列向量是方程列向量是方程AX=0AX=0有理基有理基有理基有理基第第38页页汪远征汪远征4.3 4.3 线性方程组求解线性方程
48、组求解n n4.3.2 求线性齐次方程组通解例例例例4-14 4-14 求方程组求方程组求方程组求方程组 通解:通解:通解:通解:解:解:解:解:A=1 2 2 1;2 1 -2 -2;1 -1 -4 -3;A=1 2 2 1;2 1 -2 -2;1 -1 -4 -3;format rat%format rat%指定有理式格式输出指定有理式格式输出指定有理式格式输出指定有理式格式输出B=null(A,r)%B=null(A,r)%求解空间有理基求解空间有理基求解空间有理基求解空间有理基运行后显示结果以下:运行后显示结果以下:运行后显示结果以下:运行后显示结果以下:第第39页页汪远征汪远征4.3
49、 4.3 线性方程组求解线性方程组求解n n4.3.2 求线性齐次方程组通解例例例例4-14 4-14 求方程组求方程组求方程组求方程组 通解:通解:通解:通解:解:解:解:解:或经过行最简型得到基:或经过行最简型得到基:或经过行最简型得到基:或经过行最简型得到基:B=rref(A)B=rref(A)即可写出其基础解系即可写出其基础解系即可写出其基础解系即可写出其基础解系(与上面结果一致与上面结果一致与上面结果一致与上面结果一致)。第第40页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.2 求线性齐次方程组通解例例例例4-14 4-14 求方程组求方程组求方程组求方程
50、组 通解:通解:通解:通解:解:解:解:解:写出通解:写出通解:写出通解:写出通解:syms k1 k2syms k1 k2X=k1*B(:,1)+k2*B(:,2)X=k1*B(:,1)+k2*B(:,2)%写出方程组通解写出方程组通解写出方程组通解写出方程组通解pretty(X)pretty(X)%让通解表示式愈加精美让通解表示式愈加精美让通解表示式愈加精美让通解表示式愈加精美运行后结果以下:运行后结果以下:运行后结果以下:运行后结果以下:下面是其简化形式下面是其简化形式下面是其简化形式下面是其简化形式第第41页页汪远征汪远征4.3 4.3 线性方程组求解线性方程组求解n n4.3.3 求