矩阵理论讲义精华帖

上传人:ji****72 文档编号:36253782 上传时间:2018-03-27 格式:DOC 页数:33 大小:678KB
返回 下载 相关 举报
矩阵理论讲义精华帖_第1页
第1页 / 共33页
矩阵理论讲义精华帖_第2页
第2页 / 共33页
矩阵理论讲义精华帖_第3页
第3页 / 共33页
矩阵理论讲义精华帖_第4页
第4页 / 共33页
矩阵理论讲义精华帖_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《矩阵理论讲义精华帖》由会员分享,可在线阅读,更多相关《矩阵理论讲义精华帖(33页珍藏版)》请在金锄头文库上搜索。

1、线性代数与相关计算的线性代数与相关计算的 Matlab 应用应用 1 行列式行列式( (determinant) )的定义与理论计算的定义与理论计算 1112121222112( 1)nnn n ii SinnnnaaaaaaDaaaa LLMMOML 1.1)行列式相应具有若干性质行列式相应具有若干性质 1.2)行列式的理论计算行列式的理论计算 利用行列式的性质将行列式利用行列式的性质将行列式化成上(下)三角形行列式化成上(下)三角形行列式D11121111211121222222212211212*000*0*00*nnn nn ii innnnnnnnnnaaaaaaaaaaaaaaDa

2、aaaaaaaLLLLLLMMOMMMOMMMOMLLL 1.3)行列式在解析几何中的两个基本应用行列式在解析几何中的两个基本应用 a) 求平面三角形的面积求平面三角形的面积,其中,其中为三角形三个顶点坐为三角形三个顶点坐11121iijjkkxy Sxy xy( ,),(,),(,)iijjkkx yxyxy标,且按逆时针排列。标,且按逆时针排列。 b) 求空间四面体的体积求空间四面体的体积,其中,其中为四为四1 11 161iiijjjkkkxyz xyzVxyzxyz( ,),(,),(,),( , , )iiijjjkkkx y zxyzxyzx y z面体四个顶点坐标,且按右手系法则

3、排列。面体四个顶点坐标,且按右手系法则排列。 1.4)行列式的行列式的 Matlab 计算计算 在在 Matlab 命令窗口输入矩阵命令窗口输入矩阵 A,然后用,然后用 det(A) 例如:例如:a=2 3 4;6 7 8;9 10 11; d=det(a) 再如再如 d=det(magic(5)Matlab 中如何计算行列式呢?中如何计算行列式呢? 可在命令窗口键入可在命令窗口键入 doc det 。2 解线性方程组解线性方程组,11 11221121 1222221 122nnnnnnnnnna xa xa xba xa xa xba xa xa xb LLML 其矩阵形式为其矩阵形式为,

4、Axb其中其中1112111212222212,nnnnnnnnaaaxbaaaxbAxbaaaxb LLMMOMMML2.1)按照克莱姆法则,可知当系数行列式)按照克莱姆法则,可知当系数行列式时,方程组有时,方程组有0DA解且是唯一的。解的形式解且是唯一的。解的形式,1,2,j jDxjnDL其中克莱姆法则的一个应用为其中克莱姆法则的一个应用为问题:过平面上的问题:过平面上的个不同观测点个不同观测点的次的次1n0011(,),( ,),(,)nnxyx yxyL 数不超过数不超过 的多项的多项n 式存在且唯一。式存在且唯一。假设过这些观测点的多项式为假设过这些观测点的多项式为,于是有,于是有

5、01( )n nyf xaa xa xL0100001 11101n nn nn nnnnaa xa xyaa xa xyaa xa xy LLML 由于由于(范得蒙行列式)(范得蒙行列式)001101 1()01nnij ij nn nnxx xxDxxxx L L M M OM L 所以得到问题的结论。但是如何来获得这个多项式呢?用所以得到问题的结论。但是如何来获得这个多项式呢?用 Matlab 做实验。做实验。 x=linspace(0,2*pi,5); %均匀生成均匀生成0,2*pi区间上区间上 100 个点个点y=cos(x);p2=polyfit(x,y,4); %用用 4 阶多项

6、式拟合阶多项式拟合 cos(x)xx=linspace(0,2*pi,100);y2=polyval(p2,xx); %求求 4 阶拟合多项式在生成点阶拟合多项式在生成点 x 的值的值yy=cos(xx);plot(x,y,go,xx,y2,b-,xx,yy,r-)title(用用 4 阶多项式拟合阶多项式拟合 cos(x)2.2)用求逆的办法,求解线性方程组(理论求法)用求逆的办法,求解线性方程组(理论求法)(行初等变换),然后有,(行初等变换),然后有,1|A II A1xA b但是对于高阶的线性方程组,用理论求法无法实现,为此需但是对于高阶的线性方程组,用理论求法无法实现,为此需 要借助

7、计算机来实现。要借助计算机来实现。 2.3)用)用 Matlab 求解线性方程组以及方阵求逆求解线性方程组以及方阵求逆输入输入 A,b,x=Ab 即可,即可, 例例 1A=magic(5),b=1,2,3,4,5;x=AbAinv=inv(A),如果如果 det(A)=0,可以求逆吗?例如可以求逆吗?例如 A=magic(4), a=inv(A)会得到什么结果呢?会得到什么结果呢?例例 2求求的解。的解。12131231334342xxxxxxx a=1 1 0;-3 0 3;1 -3 4;b=1 4 2; x=ab 此例也可以用符号运算求解:此例也可以用符号运算求解: syms x1 x2

8、x3; %定义符号变量定义符号变量 x1,x2,x3=solve(x1+x2=1,-3*x1+3*x3=4,x1- 3*x2+4*x3=2)%solve 函数还可以用于非线性解。函数还可以用于非线性解。 vap(x1,x2,x3,5) % 将解用将解用 5 位有效数字表示位有效数字表示或或 a=sym(1 1 0;-3 0 3;1,-3 4) %定义符号变量定义符号变量b=sym(1; 4 ;2);% 定义符号变量定义符号变量 x=linsolve(a,b);x1=ab; %线性方程组求解线性方程组求解 vpa(x,x1,5)向量、矩阵数据的生成,矩阵的代数运算以及与方阵的相关数向量、矩阵数据

9、的生成,矩阵的代数运算以及与方阵的相关数 值计算值计算 3.1)向量数据生成)向量数据生成 a)手工输入,例手工输入,例 a=1 3 7 8 10 -1; b)命令输入,例命令输入,例 x=linspace(-2,3,10);,x=- 2:0.01:3;,x=logspace(-2,3,20);, x,y=meshgrid(-1:0.01:,1,-2:0.01:2);此种数据生成在作图时非常有用此种数据生成在作图时非常有用,例如:例如: x=linspace(-pi,pi,100); y=sin(x); plot(x,y,r-) title(sin 曲线曲线) 另外,另外, x,y=meshg

10、rid(-1:0.1:1); z=x.2+y.2; figure(1) mesh(x,y,z); figure(2) surf(x,y,z) c) 特殊矩阵生成特殊矩阵生成 单位矩阵单位矩阵 eye(n),零矩阵零矩阵 zeros(m,n),全一矩阵全一矩阵 ones(m,n),魔方矩魔方矩 阵阵 magic(n),pascal 矩阵矩阵 pascal(n),随机矩阵随机矩阵 rand(m,n)和和 randn(m,n)。 d) 子矩阵的提取与整合子矩阵的提取与整合 Matlab 实现,例给定实现,例给定a=magic(5);b=pascal(5); al=a(2,:);%提取提取 a 的第二

11、行的第二行; ac=a(:,4);%提取提取 a 的第四列;的第四列; alc=a(2:3,1:4); %提取提取 a 的第二行到第三行以及第一列到第四的第二行到第三行以及第一列到第四 列的子矩阵。列的子矩阵。ab=a,b;ac=a;b;%组装两个矩阵,注意两者的区别。组装两个矩阵,注意两者的区别。 ab=horzcat(a,b);ac=vertcat(a,b)%和上面两个运算相同。和上面两个运算相同。 A = magic(3); B = -5 -6 -9; -4 -4 -2; C = eye(2) * 8; D = blkdiag(A, B, C)%构造块对角形矩阵。构造块对角形矩阵。 a=

12、1 2 0 1;d=find(a);e=find(a=0);%寻找寻找 a 的非零指标。的非零指标。f=find(a=1);% 寻找寻找 a 的元素为的元素为 1 的指标。的指标。 l=length(a);%获取向量的长度。获取向量的长度。 a=rand(4,3);m,n=size(a);%获取矩阵获取矩阵 a 的行数与列数。的行数与列数。 tl=tril(a);tl1=tril(a,-1);%获取矩阵的下三角矩阵。获取矩阵的下三角矩阵。 tu=triu(a);tu1=triu(a,1);%获取矩阵的下三角矩阵。获取矩阵的下三角矩阵。 sc=sum(a);sl=sum(a);% 分别求矩阵的行

13、和与列和。分别求矩阵的行和与列和。3.2)矩阵代数运算矩阵代数运算a) 给定矩阵给定矩阵,ijijm nm nAaBb 矩阵的加减运算为矩阵的加减运算为ijijijijm nm nm nABabab例:在例:在 Matlab 中实现,中实现,a=2 3 -1;3 9 8;b=4 0 -2;3 8 9;c=a+b;d=a-b; a) 矩阵的数乘运算矩阵的数乘运算ijijm nm nkAk aka在在 Matlab 中实现,例中实现,例a=2 3 -1;3 9 8;c=5*a; c) 矩阵的乘法运算矩阵的乘法运算 给定给定(注意:要求前一矩阵的列数要等于(注意:要求前一矩阵的列数要等于 ,illj

14、m kk nAaBb 矩阵的行数),则矩阵的行数),则,其中,其中 illjijm kk nm nCABabc。1,1,2,;1,2,kijillj lca b im jnLL需要注意的是,矩阵乘法通常不满足交换律,即通常需要注意的是,矩阵乘法通常不满足交换律,即通常。ABBA在在 Matlab 中实现,中实现,1) 例:例: a=2 3 -1;3 9 8;b=a*a;b=a*a;2) 例例: x=2 3 7 -8;y=2 -4 7 1; z1=x*y;z2=y*x;以上两例的语法都是合法的,但是如果违背乘法的运以上两例的语法都是合法的,但是如果违背乘法的运 算要求,计算结果会显示错误。算要求

15、,计算结果会显示错误。3) 例:例:a=2 3 -1;3 9 8;b=2 8 3;0 9 2; z=a*b;会出现错误会出现错误 信息。信息。 d) 矩阵的矩阵的 Hadmard 积积给定给定矩阵矩阵,矩阵的,矩阵的 Hadmard 积定义为两积定义为两,ijijm nm nAaBb 个矩阵对应元素乘个矩阵对应元素乘 积。即积。即。ijijijijm nm nm nA Baba boo在在 Matlab 中实现,例:中实现,例:a=2 3 -1;3 9 8;b=2 8 3;0 9 2; z=a.*b;注意它与注意它与 z=a*b 具具 有完全不同的的含义。有完全不同的的含义。另外,需要注意的是对于方阵而言,矩阵乘法与另外,需要注意的是对于方阵而言,矩阵乘法与 Hadmard 积极其容易混淆,因为两者均可计算出结果。积极其容易混淆,因为两者均可计算出结果。例:例:a=

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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