Matlab教學第六章 MATLAB線性變換及其特征
Lecture 6 Linear Algebra with MATLAB線性變換及其特征線性變換及其特征(MATLAB)線性代數(shù)很抽象抽象嗎? 你應該感到它的概念都以形象形象作基礎。線性代數(shù)很冗繁冗繁嗎? 你應該懂得它的計算全有簡明簡明的程序。線性代數(shù)很枯燥枯燥嗎? 你應該發(fā)現(xiàn)它的應用極其精彩精彩而廣泛。 通過的主要方法是利用軟件工具的空間繪圖能力、快捷計算能力和大量工程問題的解,建立學習線性代數(shù)的目標和熱情。 Linear Algebra with Applications using MATLABLecture 6 Linear Algebra with MATLAB 1 平面上線性變換的幾何意義平面上線性變換的幾何意義 2 二維矩陣特征值的幾何意義二維矩陣特征值的幾何意義 1 平面上線性變換的幾何意義平面上線性變換的幾何意義 例1 設x為二維平面上第一象限中的一個單位方塊,其四個頂點的數(shù)據(jù)可寫成 把不同的A矩陣作用于此組數(shù)據(jù),可以得到多種多樣的結果yi=Ai*x。用程序實現(xiàn)變換計算,并畫出x及yi圖形: x0,1,1,0;0,0,1,1; subplot(2,3,1), fill(x(1,:),0,x(2,:),0,r) A11,0;0,1, y1A1*xsubplot(2,3,2), fill(y1(1,:),0,y1(2,:),0,g) 01100011x幾種變換的行列式與特征值幾種變換的行列式與特征值 1 01det( 1)1,111 ,1 0 1 0 1 2det( 2)1.5,21.0 1.5 ,2 1 0 0 13det( 3)0.2, 30.2 1.0 , 3 1 0 1.0 1.04det( 4)1,411 ,4 0. DApDApDApDAp 0. 0.7071 0.7071 51,50.866 + 0.5i 0.8660.5i ,500.7071i 0 + 0.7071iDp看出的基本關系看出的基本關系 可以看出,矩陣A1使原圖對縱軸生成鏡像,矩陣A2使原圖在橫軸方向膨脹,矩陣A3使原圖在縱軸方向壓縮,矩陣A4使原圖向右方剪切變形,矩陣A5使原圖沿反時針方向旋轉tpi/6。分別計算出這五個矩陣的行列式和特征值; 對二維空間(平面),一個變換所造成的圖形的面積變化,取決于該變換的行列式。A1,A4和A5的行列式絕對值都是1,所以它們不會使變換后圖形的面積發(fā)生改變。而A2和A3的行列式分別為1.5和0.2, 2 2 二維矩陣特征值的幾何意義二維矩陣特征值的幾何意義 二維矩陣的特征值表示該變換在原圖形的特征向量的二維矩陣的特征值表示該變換在原圖形的特征向量的方向上的放大量。方向上的放大量。 例如矩陣A1在第一特征向量 方向的特征值為,即橫軸 正方向的增益為1,其結果是把原圖中橫軸正方向的部分變換到新圖的負方向去了; A1在第二特征向量 的方向的特征值為1(2)=1, 即縱軸正方向的增益為1,因而保持了新圖和原圖在縱軸方向尺度不變。 11(:,1)0p 1(1)1 01(:,2)1p 用用eigshow函數(shù)看特征值函數(shù)看特征值 對于比較復雜的情況,完全憑簡單的幾何關系去想像是困難的,應當用eigshow函數(shù),聯(lián)系x和Ax的向量圖來思考。 鍵入eigshow(A4) 。綠色的x表示原坐標系中的單位向量,可以用鼠標左鍵點住x并拖動它圍繞原點轉動。圖中同時出現(xiàn)以藍色表示的Ax向量,它表示變換后的新向量。當兩個向量處在同一條直線上時(包括同向和反向),表示兩者相位相同,只存在一個(可正可負的)實數(shù)乘子, Axx Eigshow(A4)產生的圖形eigshow(1,2; 2,2)的圖形A是對稱實矩陣的情況 特別要注意A是對稱實矩陣的情況,所謂對稱矩陣是滿足ATA的矩陣。 對22矩陣,只要求A(1,2)A(2,1)。例如令,A=1,2;2,2 再鍵入eigshow(A), 這時的特點是:Axx出現(xiàn)在Ax橢圓軌跡的主軸上,所以兩個特征值分別對應于單位圓映射的橢圓軌跡的橢圓軌跡的長軸和短軸長軸和短軸。此時A的特征值為 -0.5616和 3.5616,可以和圖形對照起來看。 (注意:對稱實矩陣注意:對稱實矩陣,一般矩陣也是這個意義嗎一般矩陣也是這個意義嗎? why?)例例: :斜體字的生成斜體字的生成(wzs091224.m)(wzs091224.m) 數(shù)據(jù)矩陣表示英文大寫空心字母N的各個節(jié)點(1)用plot語句在子圖1中畫出其形狀;(2)取 作為變換矩陣對x進行變換, 并在子圖2中畫出其圖形; 畫圖的要點是要在給定的數(shù)據(jù)右方,補上第一點的坐標,使畫出的圖形封閉。 0 0.50 0.50 6.00 6.00 5.50 5.50 0 0 0 6.42 0 8.00 8.00 1.58 8.00 x10.2501A程序與圖形結果程序與圖形結果x00,0.5,0.5,6,6,5.5,5.5,0;0,0,6.42,0,8,8,1.58,8;xx0,x0(:,1); % 把首頂點坐標補到末頂點后A1,0.25;0,1; yA*x;subplot(1,2,1),plot(x(1,:),x(2,:)subplot(1,2,2),plot(y(1,:),y(2,:)畫出的兩個圖形如右: 線性代數(shù)模型舉例線性代數(shù)模型舉例( (略略) ) 1 1 剛體平面運動描述剛體平面運動描述 設三角形的三個頂點坐標為(1,1),(1,1),(0,2),今要使它旋轉30度,右移2,上移3,以試設計變換矩陣A,并畫出變換前后的圖形。 解:程序的要點是:1。列出三角形的數(shù)據(jù)矩陣2。擴展為齊次坐標(第三行加1)3。平移和轉動變換矩陣也要用三維的變換矩陣4。按變換次序左乘5。繪圖2 空間線性變換的幾何意義 三維空間線性變換最直接的幾何意義和應用價值可以從飛行器的三維轉動坐標中得到解釋。飛行器在空中可以圍繞三個軸旋轉。假如它在向北飛行,機頭正對北方,則它圍繞鉛垂軸的旋轉角稱為偏航角(Yaw),它描述了飛機左右的偏轉,用u表示;圍繞翼展軸的旋轉角稱為傾斜角(Pitch),它描述了飛機俯仰姿態(tài),用v表示;圍繞機身軸的旋轉角稱為滾動角(Roll),用w表示;u,v和w三個變量統(tǒng)稱為歐拉角,它們完全地描述了飛機的姿態(tài)。演示程序演示程序quatdemo 演示畫面的說明演示畫面的說明 畫面中。左方為飛行器在三維空間中的模型,其中紅色的是飛行器。右上方為三個姿態(tài)角u,v,w的設定標尺和顯示窗,右下方為在地面坐標系中的另外的三個姿態(tài)角:方位角、俯仰角和傾側角。左下方還有【靜態(tài)】和【動態(tài)】兩個復選鈕,我們只介紹【靜態(tài)】,讀者可自行試用【動態(tài)】進行演示。 用鍵入參數(shù)或移動標尺的方法分別給u,v,w賦值并回車后,就可以得出相應的飛行器姿態(tài),同時出現(xiàn)一根藍色的線表示合成旋轉的轉軸。程序的實現(xiàn)方法程序的實現(xiàn)方法 把飛行器的三維圖像用N個頂點描述,寫成一個3N的數(shù)據(jù)矩陣G。用plot3命令時按頂點連線能繪制出飛行器的外觀。例如以下的程序ag904a即可畫出一個最簡單的飛行器立體圖。 Gw=4,3,0;4,3,0;0,7,0;4,3,0; % 主翼的頂點坐標 Gt=0,3,0;0,3,3;0,2,0;0,3,0; % 尾翼的頂點坐標 G=Gw,Gt % 整個飛行器外形的數(shù)據(jù)集 plot3(Gw(1,:),Gw(2,:),Gw(3,:),r),hold on plot3(Gt(1,:),Gt(2,:),Gt(3,:),g), axis equal 4 4 0 4 0 0 0 03 3 7 3 3 3 2 30 0 0 0 0 3 0 0G 圍繞各個軸的旋轉變換矩陣圍繞各個軸的旋轉變換矩陣 飛行器圍繞各個軸的旋轉的結果,表現(xiàn)為各個頂點坐標發(fā)生變化,也就是G的變化。只要把三種姿態(tài)的變換矩陣Y,P和R乘以圖形數(shù)據(jù)矩陣G即可。其中 cos(u) sin(u) 0sin(u) cos(u) 0 0 0 1Y 1 0 0 0 cos(w) sin(w) 0 sin(w) cos(w)R cos(v) 0sin(v) 0 1 0 sin(v) 0 cos(v)P綜合旋轉的變換矩陣綜合旋轉的變換矩陣 單獨變化某個姿態(tài)角所生成的圖形由G1Y*G,G2P*G,G3R*G算出,如果同時變化三個姿態(tài)角,則最后的圖像數(shù)據(jù)成為GfY*P*R*GQ*G。這里假定轉動的次序為:先滾動R,再傾斜P,最后偏航Y,由于矩陣乘法不服從交換律,轉動次序不同時結果也不同。 用MATLAB實現(xiàn)的程序ag904b如下:syms u w vY=cos(u),sin(u),0;sin(u cos(u),0;0,0,1)R=1,0,0;0,cos(w),sin(w);0,sin(w),cos(w)P=cos(v),0,sin(v);0,1,0;sin(v),0,cos(v)Q=Y*P*R 空間的齊次坐標系空間的齊次坐標系 三維空間考慮了平移運動后,如同二維情況那樣,也必須擴展一維,成為4N數(shù)據(jù)集G4,成為空間的齊次坐標系: 在四維空間的44變換矩陣為: 其中c1,c2,c3為在三個軸x1,x2,x3方向上的平移距離。這種方法在機器人運動學研究中很有用處。 133324443,(,),(,)0001cYR PcYRPc34(1,)GGonesN3 3 基變換與坐標變換基變換與坐標變換 在線性空間中常常需要進行坐標變換。用下圖可以形象地說明這點。按照左圖的笛卡兒坐標 ,x向量應該表為(1,6),這是x按標準基e1,e2度量的結果,在斜坐標紙上的x點坐標就成為沿b1方向為2個單位而沿b2方向3個單位,即(-2,3)了。這反映了不同的基對坐標值的影響。 基坐標變換的公式 設線性空間Rn中的兩組基向量u 和v都是n維列向量,它們在基準坐標系中的n個分量都是已知的,因此u和v都可表示為nn矩陣。如果Rn中的一個向量w在以u為基的坐標系內的坐標為wu(n1數(shù)組),在以v為基的坐標系內的坐標為wv(n1數(shù)組),它們在基準坐標系內的坐標應分別為u*wu和v*wv,這兩者應該相等。u* wu v*wv (9.18) 所謂基坐標的變換就是已知wu,求出wv。將上式左右均左乘以inv(v),得到(9.19) 可見,坐標變換矩陣P可由u和v求得: P(uv)v u (9.20)( )*wvinv vuwuv uwu基變換的算例基變換的算例 已知R4空間的兩組基向量u,v如下:試求把u變換為v的坐標變換矩陣P(uv)。 解的方法為:輸入u和v矩陣后 鍵入uv ,得到給出某點w的u坐標wu,即可求其v坐標wv=P*wu 1 1 1 1 2 0 2 1 2 1 2 1 1 1 1 3,1 1 1 0 0 2 1 1 0 1 1 1 1 2 2 2uv 0 1 1 1 1 1 0 0() 0 0 0 1 1 1 1 1P uv4 4 對稱矩陣與二次型主軸對稱矩陣與二次型主軸 對稱矩陣的特點是所有元素關于主對角線對稱,即AA。所以對稱矩陣一定是方陣。前面曾要求讀者特別注意A是對稱矩陣時x與Ax的對應關系,其特點就是Ax呈橢圓形狀,在橢圓的兩個主軸方向,Ax與x在一條直線上長度差倍,即Axx。當Ax與x方向相同時,為正數(shù);當Ax與x方向相反時,為負數(shù);22變換有兩個特征值,在相互正交的兩個主軸方向,各有一個。 作為22正交變換的一個應用,我們來看看它對二次型圖形的影響。二次型本身已經不是線性范圍,不屬于線性代數(shù)的范疇。現(xiàn)在要研究的是基坐標的線性變換對二次型圖形發(fā)生何種影響。 例例 二次型例二次型例設A=5,-2;-2,5,則令A的二次型xT*A*x等于常數(shù)得到的是一個橢圓方程,其圖形如下圖(a)所示。如果做一個基坐標的旋轉變換,讓坐標軸轉過45度,此橢圓的主軸就與新的坐標方向y1,y2相同,如圖(b)所示,即令y1x1cosx2siny2x1sinx2cos用矩陣乘法表為 1221211 222525454825Txx Axxxxx xxx1122cossinsincosyxyPxyx 線性變換后的二次型線性變換后的二次型 其逆變換R為, 因此 用此變換式代入二次型的表達式,有本題中,=45,代入P和R,可得于是得到cossin( )sincosRinv P11122524825TTTTyx Axy R ARyyyRRy Dyy3007TR ARD1221212230,374807Tyy Dyy yyyy二次型主軸等價于矩陣對角化 所以從幾何圖形上尋找二次型主軸的問題,在線性代數(shù)中就等價于使矩陣經過正交變換或相似變換R(注意這又是一個幾何名詞,說明被變換的圖形的形狀和尺寸保持不變),使矩陣A對角化。圖中的(c)和(d)表示了對另一種雙曲線二次型(它的兩個特征值一正一負)的坐標變換, 求主軸的方法就是把矩陣A對角化。找其主軸的大小和方向,也就是找它的特征值lamda和特征向量e。 雙曲線二次型的算例雙曲線二次型的算例 根據(jù)列出程序A=1,-4;-4,-5lamda,e=eig(A) 或R=orth(A)得到把兩個特征向量e并列起來,即正交矩陣。landa就是對角化的矩陣D,故標準化的二次型方程為1445A7 0 0.4472 0.8944, 0 3 0.8944 0.4472lamdae1221212270734803TTTyx Axy R ARyyyyyy 高維空間的算例高維空間的算例 化二次型為標準型。 解:可以看出系數(shù)矩陣A,程序ag907為A1,1,3;1,2,1;3,1,5, Rorth(A), Dinv(R)*A*R得知二次型最后的標準型為其中2221231231 21 32 3( ,)25262f x x xxxxx xx xx x222123123(.,)6.9754y + 1.6994y0.6749yf x xx11122330.4677 0.2636 0.8437* 0.0253 0.9501 0.3108 0.8835 0.1667 0.4377TyxyyRxRxxyx 5 5 人口遷徙模型人口遷徙模型 設在一個大城市中的總人口是固定的。人口的分布則因居民在市區(qū)和郊區(qū)之間遷徙而變化。每年有6%的市區(qū)居民搬到郊區(qū)去住,而有2%的郊區(qū)居民搬到市區(qū)。假如開始時有30%的居民住在市區(qū),70%的居民住在郊區(qū),問10年后市區(qū)和郊區(qū)的居民人口比例是多少?30年、50年后又如何? 這個問題可以用矩陣乘法來描述。把人口變量用市區(qū)和郊區(qū)兩個分量表示,一年以后,市區(qū)人口為xc1 (10.06) xc00.02xs0,郊區(qū)人口xs1 0.06xc0 (10.02)xs0,問題的矩陣描述問題的矩陣描述 用矩陣乘法來描述,可寫成: 從初始到k年,此關系保持不變,因此上述算式可擴展為,故可用程序ag961進行計算:A0.94,0.02;0.06,0.98, x00.3;0.7x1A*x0, x10A10*x0, x30A30*x0, x50A50*x0得到:11010.94 0.020.3 0.29600.06 0.980.7 0.7040csxxAxx 2120kkkkxAxA xA x1103050 0.2960 0.2717 0.2541 0.2508, 0.7040 0.7283 0.7459 0.7492xxxx本題特征值和特征向量的意義本題特征值和特征向量的意義 無限增加時間k,市區(qū)和郊區(qū)人口之比將趨向一組常數(shù)0.25/0.75。為了弄清為什么這個過程趨向于一個穩(wěn)態(tài)值,我們改變一下坐標系統(tǒng)。在這個坐標系統(tǒng)中可以更清楚地看到乘以矩陣A的效果,先求A的特征值和特征向量,得到 令它是特征向量的整數(shù)化,得到 0.9200 0 -0.7071 -0.3162, 0 1.0000 0.7071 -0.9487lamdae1211,13uu 0210.250.05(0.92)kkkxA xuu6 6 產品成本的計算產品成本的計算 某廠生產三種成品,每件產品的成本及每季度生產件數(shù)如表9.1及表9.2所示。試提供該廠每季度在每種產品上的成本表。 解:應當用矩陣來描述此問題,列出成本矩陣為M,季度產量矩陣為P 0.100.300.150.300.400.25 ,0.100.200.15400045004500400020002800240022005800620060006000MP本例矩陣相乘的變換意義本例矩陣相乘的變換意義 將M和P相乘,得到的矩陣設為Q,Q的第一行第一列元素為Q(1,1)0.140000.320000.1558001870 不難看出,Q表示了夏季消耗的原材料總成本。從線性變換的角度來看,Q矩陣把以件數(shù)為單位的產品空間映射到了以元為單位的成本空間。 1870 2220 2070 1960 3450 4020 3810 3580 1670 1940 1830 1740Q7 7 情報檢索模型情報檢索模型 假如數(shù)據(jù)庫中包括了n個文件,而搜索所用的關鍵詞有m個。可以把數(shù)據(jù)庫表示為mn的矩陣A。比如有7本書,6個關鍵詞x(初等,代數(shù),矩陣,理論,線性,應用):則A就是67的矩陣。書名中有此關鍵詞的就將該對應元素置1。 搜索結果可以表示為乘積yATx,它是n1列向量。于是y的各個分量就表示各書與搜索向量匹配的程度。y值最大的元素對應于匹配最好的書籍,是讀者可能最需要的。 可見變換有很廣泛的意義。在本例中,它是從關鍵詞子空間變換為文獻目錄的子空間。