资源描述
Lecture 6 Linear Algebra with MATLAB线性变换及其特征线性变换及其特征(MATLAB)线性代数很抽象抽象吗? 你应该感到它的概念都以形象形象作基础。线性代数很冗繁冗繁吗? 你应该懂得它的计算全有简明简明的程序。线性代数很枯燥枯燥吗? 你应该发现它的应用极其精彩精彩而广泛。 通过的主要方法是利用软件工具的空间绘图能力、快捷计算能力和大量工程问题的解,建立学习线性代数的目标和热情。 Linear Algebra with Applications using MATLABLecture 6 Linear Algebra with MATLAB 1 平面上线性变换的几何意义平面上线性变换的几何意义 2 二维矩阵特征值的几何意义二维矩阵特征值的几何意义 1 平面上线性变换的几何意义平面上线性变换的几何意义 例1 设x为二维平面上第一象限中的一个单位方块,其四个顶点的数据可写成 把不同的A矩阵作用于此组数据,可以得到多种多样的结果yi=Ai*x。用程序实现变换计算,并画出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,所以它们不会使变换后图形的面积发生改变。而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函数看特征值函数看特征值 对于比较复杂的情况,完全凭简单的几何关系去想像是困难的,应当用eigshow函数,联系x和Ax的向量图来思考。 键入eigshow(A4) 。绿色的x表示原坐标系中的单位向量,可以用鼠标左键点住x并拖动它围绕原点转动。图中同时出现以蓝色表示的Ax向量,它表示变换后的新向量。当两个向量处在同一条直线上时(包括同向和反向),表示两者相位相同,只存在一个(可正可负的)实数乘子, 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出现在Ax椭圆轨迹的主轴上,所以两个特征值分别对应于单位圆映射的椭圆轨迹的椭圆轨迹的长轴和短轴长轴和短轴。此时A的特征值为 -0.5616和 3.5616,可以和图形对照起来看。 (注意:对称实矩阵注意:对称实矩阵,一般矩阵也是这个意义吗一般矩阵也是这个意义吗? why?)例例: :斜体字的生成斜体字的生成(wzs091224.m)(wzs091224.m) 数据矩阵表示英文大写空心字母N的各个节点(1)用plot语句在子图1中画出其形状;(2)取 作为变换矩阵对x进行变换, 并在子图2中画出其图形; 画图的要点是要在给定的数据右方,补上第一点的坐标,使画出的图形封闭。 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,:)画出的两个图形如右: 线性代数模型举例线性代数模型举例( (略略) ) 1 1 刚体平面运动描述刚体平面运动描述 设三角形的三个顶点坐标为(1,1),(1,1),(0,2),今要使它旋转30度,右移2,上移3,以试设计变换矩阵A,并画出变换前后的图形。 解:程序的要点是:1。列出三角形的数据矩阵2。扩展为齐次坐标(第三行加1)3。平移和转动变换矩阵也要用三维的变换矩阵4。按变换次序左乘5。绘图2 空间线性变换的几何意义 三维空间线性变换最直接的几何意义和应用价值可以从飞行器的三维转动坐标中得到解释。飞行器在空中可以围绕三个轴旋转。假如它在向北飞行,机头正对北方,则它围绕铅垂轴的旋转角称为偏航角(Yaw),它描述了飞机左右的偏转,用u表示;围绕翼展轴的旋转角称为倾斜角(Pitch),它描述了飞机俯仰姿态,用v表示;围绕机身轴的旋转角称为滚动角(Roll),用w表示;u,v和w三个变量统称为欧拉角,它们完全地描述了飞机的姿态。演示程序演示程序quatdemo 演示画面的说明演示画面的说明 画面中。左方为飞行器在三维空间中的模型,其中红色的是飞行器。右上方为三个姿态角u,v,w的设定标尺和显示窗,右下方为在地面坐标系中的另外的三个姿态角:方位角、俯仰角和倾侧角。左下方还有【静态】和【动态】两个复选钮,我们只介绍【静态】,读者可自行试用【动态】进行演示。 用键入参数或移动标尺的方法分别给u,v,w赋值并回车后,就可以得出相应的飞行器姿态,同时出现一根蓝色的线表示合成旋转的转轴。程序的实现方法程序的实现方法 把飞行器的三维图像用N个顶点描述,写成一个3N的数据矩阵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 % 整个飞行器外形的数据集 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 围绕各个轴的旋转变换矩阵围绕各个轴的旋转变换矩阵 飞行器围绕各个轴的旋转的结果,表现为各个顶点坐标发生变化,也就是G的变化。只要把三种姿态的变换矩阵Y,P和R乘以图形数据矩阵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综合旋转的变换矩阵综合旋转的变换矩阵 单独变化某个姿态角所生成的图形由G1Y*G,G2P*G,G3R*G算出,如果同时变化三个姿态角,则最后的图像数据成为GfY*P*R*GQ*G。这里假定转动的次序为:先滚动R,再倾斜P,最后偏航Y,由于矩阵乘法不服从交换律,转动次序不同时结果也不同。 用MATLAB实现的程序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数据集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数组),在以v为基的坐标系内的坐标为wv(n1数组),它们在基准坐标系内的坐标应分别为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方向相同时,为正数;当Ax与x方向相反时,为负数;22变换有两个特征值,在相互正交的两个主轴方向,各有一个。 作为22正交变换的一个应用,我们来看看它对二次型图形的影响。二次型本身已经不是线性范围,不属于线性代数的范畴。现在要研究的是基坐标的线性变换对二次型图形发生何种影响。 例例 二次型例二次型例设A=5,-2;-2,5,则令A的二次型xT*A*x等于常数得到的是一个椭圆方程,其图形如下图(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二次型主轴等价于矩阵对角化 所以从几何图形上寻找二次型主轴的问题,在线性代数中就等价于使矩阵经过正交变换或相似变换R(注意这又是一个几何名词,说明被变换的图形的形状和尺寸保持不变),使矩阵A对角化。图中的(c)和(d)表示了对另一种双曲线二次型(它的两个特征值一正一负)的坐标变换, 求主轴的方法就是把矩阵A对角化。找其主轴的大小和方向,也就是找它的特征值lamda和特征向量e。 双曲线二次型的算例双曲线二次型的算例 根据列出程序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 高维空间的算例高维空间的算例 化二次型为标准型。 解:可以看出系数矩阵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 人口迁徙模型人口迁徙模型 设在一个大城市中的总人口是固定的。人口的分布则因居民在市区和郊区之间迁徙而变化。每年有6%的市区居民搬到郊区去住,而有2%的郊区居民搬到市区。假如开始时有30%的居民住在市区,70%的居民住在郊区,问10年后市区和郊区的居民人口比例是多少?30年、50年后又如何? 这个问题可以用矩阵乘法来描述。把人口变量用市区和郊区两个分量表示,一年以后,市区人口为xc1 (10.06) xc00.02xs0,郊区人口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,市区和郊区人口之比将趋向一组常数0.25/0.75。为了弄清为什么这个过程趋向于一个稳态值,我们改变一下坐标系统。在这个坐标系统中可以更清楚地看到乘以矩阵A的效果,先求A的特征值和特征向量,得到 令它是特征向量的整数化,得到 0.9200 0 -0.7071 -0.3162, 0 1.0000 0.7071 -0.9487lamdae1211,13uu 0210.250.05(0.92)kkkxA xuu6 6 产品成本的计算产品成本的计算 某厂生产三种成品,每件产品的成本及每季度生产件数如表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矩阵把以件数为单位的产品空间映射到了以元为单位的成本空间。 1870 2220 2070 1960 3450 4020 3810 3580 1670 1940 1830 1740Q7 7 情报检索模型情报检索模型 假如数据库中包括了n个文件,而搜索所用的关键词有m个。可以把数据库表示为mn的矩阵A。比如有7本书,6个关键词x(初等,代数,矩阵,理论,线性,应用):则A就是67的矩阵。书名中有此关键词的就将该对应元素置1。 搜索结果可以表示为乘积yATx,它是n1列向量。于是y的各个分量就表示各书与搜索向量匹配的程度。y值最大的元素对应于匹配最好的书籍,是读者可能最需要的。 可见变换有很广泛的意义。在本例中,它是从关键词子空间变换为文献目录的子空间。
展开阅读全文