計算方法第四章矩陣特征值和特征向量的計算ppt課件
第四章 矩陣特征值和特征向量的計算,工程實踐中有多種振動問題,如橋梁 或建筑物的振動,機械機件、飛機機翼的振動,及 一些穩(wěn)定性分析和相關分析可轉(zhuǎn) 化為求矩陣特征值與特征向量的問題。,但高次多項式求根精度低 , 一般不作為求解方法. 目前的方法是針對矩陣不同的特點給出不同的有效方法.,1,常用解法,1、 乘冪法和反冪法 2、求實對稱矩陣特征值的雅可比方法 3、求矩陣全部特征值的QR方法,2,4.1 乘冪法和反冪法 一、乘冪法,乘冪法主要是用來求矩陣的按模最大的特征值與相應的特征向量。它是通過迭代產(chǎn)生向量序列,由此計算特征值和特征向量。,3,4,5,6,二、乘冪法的加速,因為乘冪法的收斂速度是線性的,而且依賴于 比值 ,當比值接近于1時,乘冪法收斂很慢。 乘冪法加速有多種,重點介紹原點平移法。,7,8,9,三、反冪法,反冪法是計算矩陣按模最小的特征值及特征向量的方法,也是修正特征值、求相應特征向量的最有效的方法。,10,反冪法規(guī)范后的計算格式,11,四、利用原點平移的反冪法求任一特征值和特征向量,12,4.2 雅可比( Jacobi )方法,Jacobi方法是用來求實對稱矩陣的全部特征值和對應特征向量的一個古典算法。Jacobi方法的基本思想是對矩陣A做一系列的正交相似變換,使其非對角元素收斂到零,從而使該矩陣近似為對角矩陣,得到全部特征值和特征向量。,13,一、古典雅可比方法,14,15,16,17,18,19,20,21,Jacobi算法的基本思想:,22,二、 雅可比過關法,(1)循環(huán)Jacobi方法:,(2)Jacobi過關法:,23,多項式運算函數(shù),r=roots(p):求多項式的零點 p=poly(r) : 以r為零點的多項式 p=poly(A): A的特征多項式 PA=polyval(p,S):按數(shù)組運算規(guī)則,計算多項式的值 其中S,PA為矩陣 PM=polyvalm(p,S):按矩陣運算規(guī)則,計算多項式的值, 其中S,PM為矩陣 p=conv(p1,p2):多項式的乘積 q,r=deconv(p1,p2):多項式的除法,p1/p2 p1(x)=p2(x)q(x)+r(x),24,【例】由給定根向量求多項式系數(shù)向量。 R=-0.5,-0.3+0.4*i,-0.3-0.4*i; P=poly(R) PPR=poly2str(P,'x') P = 1.0000 1.1000 0.5500 0.1250 PPR = x3 + 1.1 x2 + 0.55 x + 0.125,25,【例】求多項式 的零點。 r=roots(1 -6 15 -20 15 -6 1) r = 1.0042 + 0.0025i 1.0042 - 0.0025i 1.0000 + 0.0049i 1.0000 - 0.0049i 0.9958 + 0.0024i 0.9958 - 0.0024i,注:盡管利用MATLAB使得從系數(shù)轉(zhuǎn)換到零點或從零點轉(zhuǎn)換到系數(shù)都非常容易,但是使用時一定要注意計算的精度。如果存在重根,這種轉(zhuǎn)換可能會降低精度。對于數(shù)值計算,計算重根是最困難的問題之一。,26,【例】求3階方陣A的特征多項式。 A=11 12 13;14 15 16;17 18 19; PA=poly(A) PPA=poly2str(PA,'x') PA = 1.0000 -45.0000 -18.0000 -0.0000 PPA = x3 - 45 x2 - 18 x - 2.8387e-015,27,【例】求 的“商”及“余”多項式。 p1=conv(1,0,2,conv(1,4,1,1); p2=1 0 1 1; q,r=deconv(p1,p2); cq='商多項式為 ' cr='余多項式為 ' disp(cq,poly2str(q,'x') disp(cr,poly2str(r,'x') 商多項式為 x + 5 余多項式為 5 x2 + 4 x + 3,28,dot(x,y) 向量的內(nèi)積 norm : 矩陣或向量范數(shù) det(A) 方陣的行列式; rank(A) 矩陣的秩; trace(A) 矩陣的跡; rref(A) 初等變換化矩陣A為階梯矩陣 inv(A) 矩陣的逆;即 A-1 pinv(A) 矩陣的廣義逆A+ orth(A) 將A標準正交化 cond(A,flag) 矩陣的條件數(shù), flag=2, 1, inf, 'fro',線性代數(shù)常用函數(shù),29,d=eig(A) : 方陣的特征值; V,D=eig(A) : A*V=V*D c=condeig(A) : 向量c中包含矩陣A關于各 特征值的條件數(shù) V,D,c=condeig(A):,例: A=1 0 0;1 2 0;1 2 3, d=eig(A), V,D=eig(A), C=condeig(A), V,D,C=condeig(A),30,例:觀察7階隨機矩陣特征值的分布 a=rands(7,7) %產(chǎn)生7階隨機矩陣 e=eig(a) title('特征值的分布'); plot(real(e),imag(e),'o') xlabel('實軸'); ylabel('虛軸');,注:本例驗證了如下定理:實方陣的特征值或為實 數(shù)或呈共軛對出現(xiàn)。,31,例:觀察正交矩陣的特征值分布 a=rands(7,7); b=orth(a); %構造一個正交矩陣 theta=0:0.01:2*pi; e=eig(b); plot(real(e),imag(e),'r*',cos(theta),sin(theta); axis equal title('正交矩陣特征值的分布'); xlabel('實軸'); ylabel('虛軸');,注:本例驗證了正交矩陣的特征值分布在復平面的單 位圓上。,32,