线性代数实践教师班第三讲

上传人:宝路 文档编号:47573409 上传时间:2018-07-03 格式:PPT 页数:76 大小:329.02KB
返回 下载 相关 举报
线性代数实践教师班第三讲_第1页
第1页 / 共76页
线性代数实践教师班第三讲_第2页
第2页 / 共76页
线性代数实践教师班第三讲_第3页
第3页 / 共76页
线性代数实践教师班第三讲_第4页
第4页 / 共76页
线性代数实践教师班第三讲_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《线性代数实践教师班第三讲》由会员分享,可在线阅读,更多相关《线性代数实践教师班第三讲(76页珍藏版)》请在金锄头文库上搜索。

1、线性代数实践(第三讲)第7章 矩阵运算法解方程7.1 矩阵运算的规则 在MATLAB入门中已讲过的,不再重复。 由于其乘法不符合交换律,有些公式不能乱用 ; 单列向量与单行向量的左右两种乘法要加区别 ,而且往往有特别的用途。 例如向量长度(范数)的计算; 例如二维坐标网格的生成; X=ones(21,1)*-10:10,Y= - 10:10*ones(1,21) 矩阵的乘幂An, eA和(I-A) -1的级数展开,都要求 A是方阵。矩阵乘法不满足交换律 有许多我们习惯的公式,其中隐含地包含 了交换律,这些公式在矩阵运算中也不能 直接使用。比如: 正确的做法是展开时不交换次序平面上网格坐标系的产

2、生用列矩阵乘行矩阵生成网格坐标 这两个矩阵都是21行21列的,都有441个 元素,如何快捷地输入呢?这时可以用到 列乘行的乘法运算。可用下面的语句: h10:10; lhlength(h) % 输入均分行向量 % 用全么列乘均分行生成XXones(lh,1)*h % 用均分列乘全么行生成YYh*ones(1,lh)7.2 初等变换乘子矩阵的生成行交换E1gen(n,i,j):使n行矩阵中的第i,j两行交换 function E=E1gen(n,i,j) n=size(A); E=eye(n); E(i,i)=0; E(j,j)=0; E(i,j)=1; E(j,i)=1; 乘子矩阵E2gen

3、(n,i,k),使n行矩阵中的第i行乘以k function E=E2gen(n,i,k) n=size(A); E=eye(n); E(i,i)=k; E3gen(n,i,j,c)使n行矩阵中的第i行乘以k加到第j行 上 function E=E3gen(n,i,j,k) n=size(A); E=eye(n); E(j,i)=k;初等变换乘子矩阵示例 E=E1gen(8,4,6) E2=E2gen(8,4,6) E3=E3gen(8,4,6,5) 例如E3=E3gen(3,1,3,4)例7.2.4 求消元所需的乘子矩阵 要消去下列矩阵的A(2,1),求乘子矩阵E3 在第二行加以第一行乘A(

4、2,1)/A(1,1)3, 故令B E3gen(A,1,2,3) 行阶梯生成等价于矩阵左乘 因此,整个行阶梯形式U的生成过程,可以看作 把原矩阵左乘以一系列的初等变换矩阵E1和E3 。把这些初等矩阵的连乘积写成Ex,设其逆为 L:从而有L*UA (7.10) 就是说,A可以分解为一个准下三角矩阵L和一 个上三角(即行阶梯)矩阵U的乘积。MATLAB 提供了三角分解的函数lu,它的调用方法是: L,Ulu(A) lu分解是求行阶梯的一个方法 用lu函数求出的U实际上就是A的行阶梯形 式(不是简化行阶梯形式)。所以,求简 化行阶梯形式用rref函数,而求行阶梯形 式可以用lu 函数。不过,它和我们

5、用消元 运算所得U的数据不一定相同,尽管得出 的阶次和阶梯形状相同。但因为行阶梯形 式可以有无数种,用不同步骤算出的结果 也不同。只有变成简化行阶梯形式,才能 进行比较,看它是不是惟一的。7.3 行列式的定义和计算 两种定义方法: 1。按全排列求和定义,其中tj为第j种排列的逆序数。行列式第2种定义方法2。按解的分母项,从低阶到高阶用归纳法定义二阶:三阶:两种定义方法的比较第一种定义的两个数学难点全排列和逆序数, 是绝大多数工科学生一生不会用的。 第二种定义方法自然地得出了行列式按行(或按 列)展开的公式。美国教材都用第二种定义方 法,成电教材(全国精品课程)也用这种方法 。 两种方法都不能用

6、来计算,因为其计算效率都 极低,2525矩阵要算上万年。 第8章将指出,行列式的几何意义是面积或体积, 可否从这方面探索,因为它的用途很单一,就 是判断奇异性,连正负号都不必关心。行列式的计算方法 计算行列式的最好方法还是行阶梯法,可 以利用lu分解 L,Ulu(A) 把A分解为一个准下三角矩阵L和一个上三 角矩阵U的乘积。因为det(L)1,所以U和 A的行列式相等。 det(A) det(U) 而三角矩阵U的det(U)很好求。只要把U的 主对角线元素连乘就可得到它的行列式。 此法所需的乘法次数仅为定义1法的10 -23 行列式计算实例7.3.1 程序如下 l,ulu(A), du dia

7、g(u) Dprod(du) 结果为du 104.8 10.6259.4824 1.2349 D 5.9720e003 59727.4 矩阵的秩和矩阵求逆 按定义,矩阵的秩是矩阵A中行列式不等于零的 最高阶子式的阶次。是用以衡量联立方程中有 效方程数目的指数。 按照定义来计算矩阵的秩,可能遇到的问题也 是子矩阵的数量很大,每个矩阵的行列式计算 又非常麻烦,其计算量也将是不可接受的天文 数字。 计算矩阵的秩的最好方法仍然是行阶梯法,如 第6章所述,行阶梯化简后非全为零的行数,就 是该矩阵的秩。用MATLAB函数rrank(A)可以 检验A的秩,rank函数对A是否是方阵没有要求 ,即可以有mn。

8、 矩阵求逆 对于nn方阵A,当rn时,称A是满秩的 ,若rn,必有det(A)0,称A是欠秩的或 奇异的。奇异矩阵不可以求逆。 矩阵求逆的最简单方法也是行阶梯化简, 其方法是设定一个由A和I组成的增广矩阵 CA,I,求C的简化行阶梯形式 UCrref(A,I),得出UCI,V。V就显示 出这个逆矩阵的内容。例7.6 求逆矩阵示例 求A的逆阵 解:程序ag706。 A3,0,3,6;5,1,1,5;3,1,4,9;1,3,4,4; CA,eye(4) U0Crref(C) VU0C(:,5:8)程序运行结果 右边四列就是其逆阵:矩阵求逆命令:V=inv(A), 用inv函数求逆 求A的逆阵程序a

9、g707为: A=-16,-4,-6;15,-3,9;18,0,9, V=inv(A)运行结果: Warning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 6.042030e-018.条件数衡量奇异程度的量 在用数值方法计算矩阵的逆时,由于计算中的 误差,人们不大可能得到理想的零合理想的全 零行,所以矩阵是否奇异,并不是那么绝对的 。 为了评价矩阵接近奇异的程度,采用了条件数 (Condition Number)作为常用的衡量指标。 它永远大于1。其数值愈接近于1,计算误差愈

10、小; MATLAB中,条件数用cond(A)计算,它达到 104以上时,求逆的误差就可能相当可观。像现 在,条件数达到1016(注:条件数是逆条件数 RCOND的倒数),结果是根本不能用的。7.5 用矩阵除法解线性方程 如果mn,则线性代数方程 Axb (7.21) 中的A是方阵,设det(A)0,则它的逆阵存在。 将上式左右同乘以inv(A) ,由于inv(A) *AI,得 到 xinv(A)*b (7.23) MATLAB创立了矩阵除法的概念,因为 inv(A)相 当于将A放到分母上去,所以可以把上式写成 xA b (7.24) 就称为左除,因为inv(A)是乘在b的左方 。 左除解线性方

11、程的扩展 左除的功能远远超过了矩阵求逆函数inv ,inv(A)函数要求A必须是方阵,所以( 7.23)式只能用来解适定方程,而( 7.24)式并不要求A为方阵,在A是mn阶 且mn(欠定)时,它只要求A与b的行数 相等且A的秩为m。所以(7.24)式也可 以用来解欠定方程,在下例中可以看出。 此外,运算符还能用来解超定方程, 左除解欠定方程 例7.8 用矩阵算法解例6.5.1 A3,4,3,2,1;0,6,0,3,3;4,3,4,2,2; 1,1,1,0,1;2,6,2,1,3; b 2; 3; 2; 0; 1; x=Ab 得到x=inf,无解。改用行阶梯方法找有效行。 左除要求的是系数矩阵

12、的行数与秩相同, BA,b,r=rank(B),UB,iprref(B); U0UB(1:r,1:5); dUB(1:3,6); xU0d 本例运行结果r=3,及 它是此欠定方程的一个特解。7.6.1 网络的矩阵分割和连接 在电路设计中,经常要把复杂的电路分割为局 部电路,每一个电路都用一个网络黑盒子来表 示。黑盒子的输入为u1,i1,输出为u2,i2, 其输入输出关系用矩阵A来表示(如图7.1所示 ): A是22矩阵,称为该局部电路的传输矩阵 两个网络的串联 两个串接的子网络。第一个子网络包含电阻 R1,第二个子网络包含电阻R2,列出第一 个子网络的电路方程为: 由 得矩阵方程两个网络的串联

13、(续) 由第二网络: 写成矩阵方程为: 整个电路的传输矩阵为两者的乘积7.6.2 用逆阵进行保密编译码 在英文中有一种对消息进行保密的措施,就是 把英文字母用一个整数来表示。然后传送这组 整数。这种方法是很容易根据数字出现的频率 来破译,例如出现频率特别高的数字,很可能 对应于字母E。 可以用乘以矩阵A的方法来进一步加密。假如A 是一个行列式等于1的整数矩阵,则A1的元素 也必定是整数。而经过这样变换过的消息,同 样两个字母对应的数字不同,所以就较难破译 。 接收方只要将这个消息乘以A1就可以复原。7.6.3 减肥配方的实现 设脱脂牛奶的用量为x1个单位(100g),大豆面 粉的用量为x2个单

14、位,乳清的用量为x3个单位 ,表中的三个营养成分列向量为:使这个合成的营养与剑桥配方的要求相等,得到 7.6.4 弹性梁的柔度矩阵 设简支梁如图7.3所示,在梁的三个位置分别施 加力f1,f2和f3后,在该处产生的综合变形为图 示的y1,y2和y3,通常称为挠度。根据虎克定 律,在材料未失去弹性的范围内,力与它引起 的变形呈线性关系,可以写出: 矩阵中的元素d为单位力f引起的挠度,它愈大, 表明这个梁愈柔软。 数字实例 设柔度矩阵(1)在1,2,3处施加的力为30,50和20试求出其挠度 。(2)要在3处产生0.4挠度,其他两处为零,求应加的力。 程序ag764 D0.001*5,2,1;2,

15、4,3;1,3,6 % 输入柔度矩阵 f30;50;20, yD*f (排齐)% 给定力,求挠度 y10;0;0.4 % 给定挠度, Kinv(D), f1K*y1 % 求刚度矩阵,求力梁的刚度矩阵计算 柔度矩阵的逆就是刚度矩阵K,KD 1, 其中7.6.5 网络和图 图为1,2,3,4四个城市之间的空运航线,用有向图 表示。则该图可以用下列航路矩阵表示: 经过一次转机(也就是坐两次航班)能到达的城市, 可以由邻接矩阵的平方A2A12来求得。 第8章 用向量空间解方程组 8.1 向量和向量空间 二维空间R2中的向量用两个沿列向的元素表示 u=2;4; v=3;-1; plot(2,3,4,1,x);hold on % 若用中的子程序drawvec, drawvec(u);hold on draw

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号