《基于MATLAB的数值分析ppt课件.ppt》由会员分享,可在线阅读,更多相关《基于MATLAB的数值分析ppt课件.ppt(138页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物基于MATLAB的数值分析 以软件MATLAB作为辅助工具介绍数值分析(科学与工程计算)的基本内容,注重讲授一些求解方程以及注重讲授一些求解方程以及结果可视化的知识和技巧结果可视化的知识和技巧,使同学们能够有效地解决问题并处理计算结果。内容包括:1、MATLAB编程和绘图2、数值分析的数学基础3、数值算法在工程、科学中的应用采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第一章
2、 MATLAB入门1、MATLAB的命令窗口 工作都在此处完成。2、怎样进行计算 运算对象:矩阵 算术运算符:+ - * .* ./ . 倒除: ab=b/a 变量与变量名:变量名和变量名类型不需声明变量名和变量名类型不需声明。 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3、数据显示格式 默认格式:5位(format short) format long 16位 format e 短的浮点格式 format long e 长的浮点格式4、清除命令 clear:清除所有使用过的变量或某个(些)变量 clc
3、: 清除命令窗口5、程序结构 分支:if _else_end; if_elseif_end; if_break_end 循环:for_end; while_end 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物6、读写 输入数据:z=input(type youe input:) 键盘输入 格式化输出:fprintf(e_format %12.5e n,vol)7、数学函数8、功能函数 sort(x) sum(x) max(x) min(x) mod(x,y) rand(n) eval(s)9、编程(编写M
4、文件)10、绘图 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第二章 数值代数内容:数值代数就是研究有关矩阵计算矩阵计算的问题。主要包括: 1、 线性代数方程组的求解; 2、 矩阵特征值问题要求:1、掌握用MATLAB求解的方法 2、知道那些问题是困难的,那些问题是不可解的。 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 A=zeros(m,n) m行n列的零矩阵 I=eye(n) n阶单位矩阵 A=ones(m,n
5、) 元素均为1 A A的转置 A(:,k) A(k,:) A(m1:m2,n1:n2) inv(A) A的逆 size(A) A的大小 hilb(n) Hilbert矩阵 2.1 矩阵采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物bAx 情况1:m=n(正规方程),最常见;情况2:mn(超定方程);本节只介绍情况1。倍计算时间大约是上面的效率最高50 *)( bAinvxbAxMATLAB命令:2.2 解线性代数方程组的MATLAB命令采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切
6、断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 线性代数方程组并不总是数值可解的。只有当矩阵A的行列式不为零时才行!矩阵A的行列式即使不为零,但当很小或很大时,解的误差可能很大。计算矩阵行列式的MATLAB命令:)det(AD 2.4 病态问题 有许多线性代数方程组理论上是可解的,但实际计算中由于受到舍入误差的影响而无法得到精确解。此类问题成为病态问题。 病态问题的计算过程中,小的舍入误差或系数矩阵的微小变化都可能使解产生很大误差。(例子 P97)2.3 不可解问题采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保
7、持熔接部位干净无污物病态矩阵的一个重要标志是条件数:1)(AAAcondMATLAB命令:)(Acond 当矩阵是病态时,其条件数一定很大,但它并不能直接说明解的误差。 线性方程组解的误差程度也取决于计算环境的精度。条件数和行列式与计算环境是相互独立的。所以大条件数或小行列式未必意味无法直接精确求得线性方程组的解,它只意味着有很大误差可能。而实际上如果采用更高精度的计算环境则很可能得到非常满意的解。 Hilbert矩阵是非常著名的病态矩阵(hilb(n),它经常用来检验算法的数值稳定性的好坏。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口
8、面的圆度,保持熔接部位干净无污物 两种原因使我们想了解求解线性代数方程组的算法。一是实际工作中要用其它计算机语言(Fortran&C等)编写应用程序;二是MATLAB处理大型稀疏矩阵方程组显得很笨拙或无能为力。nnnnnbabaabaaabABbAx2222111211 () (初等行变换)2.5 线性代数方程组的求解方法(算法) 由线性代数的理论:采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物下面讨论实现过程: 第一步:消元。进行到第k步时必有nnnknnkknkkkkkkknkkkknkkbaaabaa
9、abaaabaaaa1,1, 11, 1, 11,111, 1111a(k,k)作为主元,第k行依次乘a(i,k)/a(k,k)加到第i行,i=k+1:n。总共n-1步完成,k=1:n-1.一、Gauss消去法采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物endendendendjkakiajiajia:nkjforkbkiaibibkkakiakiankiforkkaifnkfor );,(),(),(),( 1 );(),()()( );,(/ ),(),( :1 end;break, 0),( 1:1
10、 当a(k,k)=0,则上述消去法无法进行;或当其绝对值相对太小可能会出现大的计算误差。选主元法可避免这种情况。下面介绍常用的按列选主元的按列选主元的Gauss法法。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物endendendjkakiajiajia:nkjforkbkiaibibkkakiakiankifor tbkk btankkkakkbkbnkkkankkab(k) tba(k,k:n) ;takkkkkknkaabskkqnkfor );,(),(),(),( 1 );(),()()( );,
11、(/),(),( :1 ;)(;):,( );()();:,():,( ; ; 1 );,:(max(, 1:1 列主元Gauss法运算量运算量 (只考虑乘除运算):第k步=n-k次除法 + n-k次乘法 +(n-k)*(n-k)次乘法;)(31)(2)(32311112nonnnknknnknk 总的乘除运算量总的乘除运算量=采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第二步:回代求解1:1);,(/),();,(/1niiiaxjiabxnnabxnijjiinnendiiadibibendjbjia
12、ddnijfordnifornnanbnb);,(/)()( );(),( :1 ;0 1:1:1 );,(/)()(%采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物二、LU分解法 LU分解的目的是将矩阵A转换为两个矩阵的乘积,即。方程为上三角矩阵。此时,是单位下三角矩阵,yUxbLybLUxbAxLLUA,U, 好处是:对于线性方程组,如果需要多次求解不同的非齐次项,此时LU分解的效率将大大超过高斯消去法。 LU分解的MATLAB命令:l,u=lu(A) 和l,u,p=lu(A) 前面讲到的不选主元的高斯
13、消去法和列主元高斯消去法将能实现LU分解。 不选主元的高斯消去法用于下面两类矩阵肯定能成,即严格对角占优严格对角占优矩阵或对称正定矩阵,矩阵或对称正定矩阵,其他矩阵就难说了! 列主元高斯消去法是解决一般中小型稠密矩阵方程组最有效的方法之一。下面讲解列主元高斯消去法实现LU分解的算法。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物. 1:1).,:(max(, 1)(.1),(),(1),(), 1(11i) jP(i,nkknkaabskkqkkkkkkkkkkaknakkakkaLjk为其中行交换后的矩阵
14、,行与第为单位矩阵第记1、LU分解的代数理论采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物).(,( , 333223221131211112222113333223221131211112223322221121111kkkkPPUaaaaaaaaaaAPLPLPLPLaaaaaaaaaaaAPLPLaaaaaaaaaAPLknnnnnnnnnnnnnnnnnnnnn其中,于是:采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净
15、无污物 . . , , , , ,;)()()()()(1211212111211211212111211212112112112321121111222211PPPPPPLPPLPPPLPPPLPLPLLLUAPPPPPLPPPPPLPPPPPLPPPLPLUAPLPLPLPLnnnnkkkkknknnnnnnnnnnnkkkkknnnnnnnnnnnnnn令:采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 .,.111211121为单位下三角矩阵。可以证明其中LLLLLLUPAUPALLLnnnn 现在
16、我们只要将列主元高斯消去法稍加改造即是LU分解的算法。 列主元高斯消去法的矩阵表示:.),),:1(U)(,()(., 2, 111222211knkkkkkknnnnLaaaknkAAAkkkkPPkkkUAPLPLPLPL唯一确定了(部分,即的下三角的每一输出的矩阵;的上三角为输出的矩阵;唯一确定了采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2、LU分解算法endendendjkakiajiajia:nkjforkkakiakiankifor tankkkkankkkkankkaa(k,k:n) ;t
17、amkkkkknkaabsmqnkforasizenmaLGaussakkfunction );,(),(),(),( 1 );,(/),(),( :1 ;):),( );:),():,( ; 1)( );,:(max(, 1:1 );(,)(, 运运算算量量和和高高斯斯消消去去法法一一样样采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物end endt;,k) a(kk(i) ;a(kk(i),k) a(i,k) a(i,k); t :n-k i for:n-for kendt;k(k),:) p(k;p(
18、kk(k),:)p(k,:)kptnkforneyepaLGaussakkasizenmajiesanjiaofenpulfunction1121 :);,( 1:1 );();(,);(,)(, end enda(i,j); u(i,j) i:n j for :nfor iend end end a(i,j);i,j) l( else ;i,j) l( j if i :i j for :nfor i1111采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3、三对角矩阵方程的追赶法 三对角且主对角严格占优矩阵
19、方程是一类来源丰富的问题。比如,微分方程数值解或样条插值等问题中的正规方程组。解这种问题必须考虑其矩阵稀疏的特征,减少算法的计算量。nnnabcabcaT12211三对角矩阵形如:fTx 问题:求解采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物T的LU分解具有形式:nnnucucu UllL12112 , 111由T=LU推得:).:2(,/ ;1111niclauublauiiiiiii1:1 ; / )(,/:2 ; ,1111niuxcyxuyxniylfyfyyUxfLyfTxiiiiinnniii
20、i采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物 end1)/a(i);f(i*c(i)-(f(i)f(i) 1:-1:1-nifor f(n)/a(n);f(n)end1);-f(i*b(i)-f(i)f(i) n:2ifor end1);-c(i*b(i)-a(i)a(i) 1);-b(i)/a(ib(i) n:2ifor length(a);nf)c,b,a,zhuiganfa(ffunction 最终解为f.乘除运算量: 5n=O(n).采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管
21、材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4、对称正定矩阵方程的cholesky分解法 对称正定矩阵方程的来源比较丰富,比如线性回归、拟合等问题。解这类问题必须考虑其矩阵对称的特征,减少算法的计算量。为对称正定矩阵。其中问题:求解A, bAx 由于A为对称正定矩阵,A必有cholesky分解:nnnTdddlllLLDLA212121D, 111 ,其中采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物jjkjkikkijijjkkjkjjjiiTdlldaldladnidalad
22、LDLA/ )(n:1jin,:2j:2,/,11112111111得到关系:的两边,比较 endend j);t)/a(j,-j)(a(i,j)a(i, end k);a(j,*k)a(i,*k)a(k,t t 1- j:1kfor 0; t n:1jifor t;-j)a(j,j)a(j, end );,(*2),(t t 1- j:1kfor 0; tn:2jfor end);a(i,1)/d(1a(i,1) n:2ifor size(a);nm,)cholesky(aDL, kkakjafunction高斯消去法的一半。,是很大时,相当于当运算量:乘除为上三角矩阵说明:命令:32361
23、)29(61L, )(nnnnnLLAAcholLMATLABT采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物三、线性代数方程组的迭代法 线性代数方程组的迭代法并不适用于所有问题,但它对一些特定类型的问题非常有效。当问题是大型稀疏矩阵方程时,高斯消去法的效率会变得非常低,而且有时还会超出内存要求。对于这样的问题就需要使用迭代法。 大系统问题的求解最终归结为大型稀疏矩阵方程。比如,电网络、场方程的数值计算、运筹问题等。 尽管迭代法的种类很多,这里只介绍其中的三种: 1、Jacobi迭代; 2、Gauss-Se
24、idel迭代; 3、超松弛迭代法(SOR)。 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物.x , 3;,2, 1 ,0, 2;1 )(*)()()1()0(的精度为近似解为方程组的真解,其中收敛条件:、迭代:、选定初始值:算法:kkkknxxxkdBxxRxdBxxbAx1、线性代数方程组的迭代法的一般理论迭代算法简单,但问题是: 1、能否保证算法收敛? 2、能否充分利用矩阵的稀疏性,使运算量和存贮量尽量少。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保
25、证切口面的圆度,保持熔接部位干净无污物 定理一 迭代法收敛的充分必要条件是0lim1kkB定理二 迭代法收敛的充分必要条件是1)(B定理三 迭代法收敛的充分条件充分条件是)1()(*(k)0(*(k)1x *1x , 1kkkxxGGxxxGGxB和且谱范数行和范数列和范数 )(B max; max211111TnjijniniijnjBBbBbB收敛性定理对于任意的初值nRx)0(采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物迭代矩阵B的构造 充分利用矩阵的稀疏性,使运算量和存贮量尽量少的办法就是要求迭代
26、矩阵B与原矩阵A有相同的稀疏结构。具体就是:0a0aa0 U, 0aa0a0L );a,a,diag(aDU,LDAn1,-n1n121 -nnn121nn2211 )(bxULDbAx采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物n :1i ,)x-(1)/axaa-(b b)x )D 1-(-U( L)x-(D 0,)11 (1SOR 3 n:1i , )/axaa-(b ) Seidel-Gauss2 n :1i , )/axa-(bx )( 1 (k)ii(k)jn1ijij)1(1 - i1jij
27、i)1(k)1)(kii(k)jn1ijij)1(1 - i1jiji)1()()1(ii(k)jnij1,jiji1)(ki)()1(kjkikjkikkkkxxDDDxxbUxxLDbxULDxJacobi松弛因子。迭代:、(迭代:、迭代:、常用迭代法及其收敛性nRx)0(采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物定理4:SOR收敛的必要条件是02.定理5:如果A是严格对角占优矩阵或不可分弱对角占优矩阵,则1、Jacobi收敛;2、gauss-seidel收敛;3、当0=1 时,SOR必收敛。定理6
28、:如果A是对称正定矩阵,则1、当2D-A正定时,Jacobi收敛;2、gauss-seidel收敛;3、当0eyta t=r*r/(r*a*r); x=x+t*r; r=b-a*x;end 这一算法有简单易行,可充分利用A的稀疏性等特点,但当A的最大特征值远远大于最小特征值时收敛速度变得非常慢,以至于完全不适用。最速下降法并非最速!下面的共轭梯度法可有效解决这一问题。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3、共轭梯度法 能否选出比负梯度方向更好的下降方向吗?能!能否选出比负梯度方向更好的下降方向吗?
29、能!. 0r4 ; 1, 2 , 1 , 0, 0)( 3 ,p2 ,1;)()(,;)()(,;, 2 , 1 , 0,;,1)-(n)()()()1(0)()1()0()()()1()(1)(1)1()1()1()1()()()()()()()1()()()0()0()0()0()0(、共轭的;是两两关于、是两两正交的;、可以证明:其中;其中以求得,下降方向kirpApprrrApprpspsrpAxbrApppptptxxkpxrpAxbrRxkTikkkTkkTkkkkkkkkkTkkTkkkkkkkkn采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边
30、剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物).1(10*)()1(nkxxnrkn步就能得到精确解计算说明上述计算过程最多这一算法称为共轭梯度法,简称这一算法称为共轭梯度法,简称CG(conjugate gradient)实际计算中由于误差的影响,)(kr之间的正交性很快就会消失,以至于有限步内不能得到精确解,所以CG实际是一种迭代算法。 CG是保稀疏且便于并行处理的算法,它是求解对称正定是保稀疏且便于并行处理的算法,它是求解对称正定矩阵方程最优秀的算法之一。而且目前它已推广到一般矩阵矩阵方程最优秀的算法之一。而且目前它已推广到一般矩阵方程,称为预优共轭梯度算法。方程,称为预优共轭梯
31、度算法。实用共轭梯度算法如下:采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物function x=cg(a,b,x,eyta)n=length(b);r=b-a*x;p=r;q0=r*r;while q0eyta w=a*p; t=q0/(p*w); x=x+t*p; r=r-t*w; q=r*r; s=q/q0; p=r+s*p; q0=q;end运算量:每一步迭代的乘除运算量为nn22采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接
32、部位干净无污物2.6 矩阵特征值问题).,(0)(,xxIARAnn的解求问题:一、幂法MATLAB命令:D=eig(A)和X,D=eig(A)., 0: 2121nnxxxnA线性无关的特征向量个并且对应的特征值设)1(111111111)(1111)()1()()0()0()()(;0),(, 2 , 1,; 0,kkkkkkkknvxxvxvkkAvvvRv显然常数充分大后,则当;采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物.),(k12)()1()1()1()(1收敛因子值和特征向量。的按模最大的
33、近似特征分别为分量的按模最大的是充分大时,结论:当Avvvvvkkklklkl实用算法:时终止。当;)1()()()()()()1()()0(;/*)();(max(,;, 2 , 1;1 , 1 , 1 kkkkkkkkkkkkvvmvvmlvsignmvabslmAvvkvfunction lmta,x=mifa(a,epsl)m,n=size(a);x0=ones(n,1);while 1 x=a*x0; lmta,m=max(abs(x); lmta=sign(x(m)*lmta; x=x/lmta; if abs(x-x0)epsl,break,end; x0=x;end一、幂法采用
34、PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物二、反幂法及其原点位移二、反幂法及其原点位移反幂法用来求A的按模最小的特征值。., 0: 21121nnnxxxnA线性无关的特征向量个并且对应的特征值设nkknnkknnmxxvAxxAxAx1lim)max(/lim.,1)(111幂法即可!收敛因子执行上述所以只要对因时终止。当;)1()()()()()()1(1)()0(;/*)();(max(,;, 2 , 1;1 , 1 , 1 kkkkkkkkkkkkvvmvvmlvsignmvabslmvAvkv采用
35、PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物实用算法:function lmta,x=fanmifa(a,epsl)m,n=size(a);x0=ones(n,1);while 1 x=ax0; lmta,m=max(abs(x); lmta=sign(x(m)*lmta; x=x/lmta; if max(abs(x-x0)epsl,break,end; x0=x;endlmta=1/lmta;1、反幂法采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面
36、的圆度,保持熔接部位干净无污物2、带原点位移的反幂法 反幂法与“原点位移”相配合,求指定点附近的某个特征值和特征向量,并可用于加速幂法的收敛性。.1)(sA, 0)()( , smsIAlissxsxsIAxAxAsIAskllli用反幂法求得特征值,可对最近的的离点是即可知,若的原点位移。由为称对于给定的常数 另一方面,s离A的某个特征值越近,收敛越快。因此不论用幂法求A的按模最大特征值,还是利用反幂法求A的按模最小特征值,为了加快收敛,均可以用迭代m步后的近似值lmta作为最初始的位移值,实行动态位移迭代动态位移迭代。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切
37、断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物动态位移幂法function lmta,x=dongtamifa(a,epsl0,epsl)lmta,x=mifa(a,epsl0);x0=x;lmta0=lmta;n=length(x0);while 1 x=(a-lmta0*eye(n)x0; lmta,m=max(abs(x); lmta=sign(x(m)*lmta; x=x/lmta; lmta=1/lmta+lmta0; if max(abs(x-x0)epsl,break,end; x0=x; lmta0=lmtaend采用PP管及配件:根据给水设计图配置好PP管及配
38、件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物动态位移反幂法function lmta,x=dongtaifanmifa(a,epsl0,epsl)lmta,x=fanmifa(a,epsl0);x0=x;lmta0=lmta;n=length(x0);while 1 x=(a-lmta0*eye(n)x0; lmta,m=max(abs(x); lmta=sign(x(m)*lmta; x=x/lmta; lmta=1/lmta+lmta0; if max(abs(x-x0)epsl,break,end; x0=x; lmta0=lmta;end采用P
39、P管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物三、幂法综述1、幂法和反幂法只能用于求解可对角化矩阵的实数特征可对角化矩阵的实数特征值和特征向量,不能求解复数特征值值和特征向量,不能求解复数特征值;2、幂法和反幂法均为线性收敛,收敛速度由收敛因子决定,效率不高。3、动态位移可以大大减小收敛因子加速收敛动态位移可以大大减小收敛因子加速收敛;4、不适于求解全部特征值。不适于求解全部特征值。5、对称矩阵自然适用于幂法,此时采用、对称矩阵自然适用于幂法,此时采用2-范数标准化向范数标准化向量的算法至少平方收敛。量的算法至少
40、平方收敛。 求解一般矩阵全部特征值的办法是下面的相似变换法采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物四、矩阵全部特征值的QR迭代算法 求解一般矩阵全部特征值的办法是相似变换法。其理论根据是:。均为一阶或二阶实方阵其中使正交矩阵iissssnnAAAAAAATAPPPRA, ,222112111.lim ,)Q (A ).(, ,., 2 , 1,A ,A ,)(m)()1)()()(1 -(m)1)(m)()()(1)(m)()(m)0(TAAAARQQAqrRQMATLABRQQRAmQRRQAAmm
41、mmmmmmmmm且相似于即命令:交三角化分解。解为正为上三角矩阵,称此分为正交矩阵,其中,实现过程:(采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物1、矩阵的两种正交变换平面旋转变换平面旋转变换变换。为平面旋转矩阵,或则矩阵记Givensk i 1cs-sc1)k,J(i, ,1 ,sin,cosnnRnkisc采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物kijxyyxxxxxsxxxckijxycxsxysxcxJ
42、xyRxIJJkiJJjjkkikikkiijjkikkinT,0y ,0 x,y ,.),(22i2222ki则时,取一个非零元素。即它的意义是消去向量的的分量表示正交矩阵,即采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物镜面反射矩阵镜面反射矩阵.)0 , 0 , 1 (.2),(21),(sign(x,/),(max( ,),(2,12, 1,111221222112122112TTTTnnTnTTneeHxHuuIuuuuIHtxuxxxexuxtxxxabstxxxxxxHHHHrHousehold
43、eIHR使确定的镜面反射矩阵)不全为零,则由)(对称正交;)(具有下列性质:矩阵变换矩阵。或称为镜面反射矩阵,矩阵采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物镜面反射矩阵的意义是镜面反射矩阵的意义是“成批成批”消去向量的非零元素。消去向量的非零元素。function a,b,x=householder(x)% x gived , seek a househouder convert H=I-bxx,make Hx=-a.n=length(x);t=max(abs(x);if t=0 a=0; b=0;el
44、se x=x/t; a=sqrt(x*x); if x(1)0,a=-a;end x(1)=x(1)+a; b=1/(a*x(1); a=t*a;end采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物2、方阵的正交三角化分解方阵的正交三角化分解,即为上三角矩阵。为正交矩阵,其中RQQRA,;*;) 1 (;*;);1(:,(,;*;);1(:,(,2211222221221211111AaaAHHHeyeHAaAHbxxIHArhouseholdexbaAaAHbxxIHArhouseholdexbaTT分解
45、方法:采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物function arfa,bata,a=qrfenjie(a)m,n=size(a);for k=1:n-1 arfa(k),bata(k),a(k:n,k)=householder(a(k:n,k); for j=k+1:n a(k:n,j)=a(k:n,j)-bata(k)*a(k:n,k)*a(k:n,j)*a(k:n,k); endendfunction q,r=qrgouzao(a)%实现a=qr,q是正交矩阵,r是上三角矩阵。m,n=size
46、(a);arfa,bata,a=qrfenjie(a);q=eye(n)-bata(1)*a(1:n,1)*a(1:n,1);for k=2:n-1 q(1:k-1,k:n)=q(1:k-1,k:n)-bata(k)*q(1:k-1,k:n)*a(k:n,k)*a(k:n,k); q(k:n,k:n)=q(k:n,k:n)-bata(k)*q(k:n,k:n)*a(k:n,k)*a(k:n,k);endfor i=1:n-1 for j=i+1:n r(i,j)=a(i,j); endendfor i=1:n-1 r(i,i)=-arfa(i);endr(n,n)=a(n,n);采用PP管及配
47、件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物3、化矩阵为Hessenberg型矩阵。不可约时矩阵。所有称为(上)形如:HessenberghHessenberghhhhhhhhhhhhhHiinnnnnnnnnn,0, , 11,31, 33221, 2222111, 11211矩阵。为使得正交矩阵定理:HessenbergAQQBQRATnn,采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物function q,h=hessenbe
48、rghua(a);% h=qaq,h为Hessenberg矩阵,q为正交矩阵。m,n=size(a);q=eye(n);for k=1:n-2 arfa(k),bata(k),a(k+1:n,k)=householder(a(k+1:n,k); p=eye(n-k)-bata(k)*a(k+1:n,k)*a(k+1:n,k); a(1:k,k+1:n)=a(1:k,k+1:n)*p; a(k+1:n,k+1:n)=p*a(k+1:n,k+1:n)*p; q(1:n,k+1:n)=q(1:n,k+1:n)*p;endh=a;for i=1:n-2 h(i+1,i)=-arfa(i);endfor
49、 j=1:n-2 for i=j+2:n h(i,j)=0; endend注:当A为对称矩阵时,其Hessenberg 形为对称三对角矩阵。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物4、Hessenberg矩阵在QR分解下的不变性变换下的不变性。矩阵这种性质称为变换,的到矩阵。称此为由均为和下,正交相似变换,、分解,、矩阵,则在为设QRHessenbergQRHHHessenbergHQRQHQQHQRHHessenbergHT2 QR 1 显然,实现Hessenberg矩阵的QR分解用Givens变换
50、合适。即执行n-1次Givens变换:运算量。一过程需完成这然后计算为上三角形使21211214. , , 1:1), 1,(nJJRJHRHJJJniiiJJTnTTnnii采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物function q,h=givensqr(h)%h为不可约hessenberg矩阵,用givens变换进行QR分解。m,n=size(h);q=eye(n);for k=1:n-1 if h(k+1,k)=0 c=h(k,k)/sqrt(h(k,k)2+h(k+1,k)2); s=h(k