资源描述:
《《MATLAB入门教学》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4讲MATLAB数值计算一西南科技大学网络教育系列课程数学软件数学软件主讲教师:鲜大权副教授西南科技大学理学院数学系4.1特殊矩阵4.2矩阵分析4.3矩阵分解与线性方程组求解4.4数据处理与多项式计算4.1特殊矩阵4.1.1对角阵与三角阵1.矩阵的对角元素(1)提取矩阵的对角线元素设A为m×n矩阵,diag(A)函数用于提取矩阵A主对角线元素产生一个具有min(m,n)个元素的列向量。diag(A)函数还有更进一步的形式diag(A,k),其功能是提取第k条对角线的元素。(2)构造对角矩阵设V为具有m个元素的向量,diag(V
2、)将产生一个m×m对角矩阵,其主对角线元素即为向量V的元素。diag(V)函数也有更进一步的形式diag(V,k),其功能是产生一个n×n(n=m+)对角阵,其第k条对角线的元素即为向量V的元素。例4.1先建立5×5矩阵A,然后将A的第1行元素乘以1,第2行乘以2,…,第5行乘以5。命令如下:A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;11,18,25,2,19];D=diag([1,2,3,4,5]);D*A2.矩阵的三角阵(1)下三角矩阵求矩阵A的下三角阵的MA
3、TLAB函数是tril(A)。tril(A)函数也有更进一步的一种形式tril(A,k),其功能是求矩阵A的第k条对角线以下的元素。(2)上三角矩阵在MATLAB中,提取矩阵A的上三角矩阵的函数是triu(A)和triu(A,k),其用法与提取下三角矩阵的函数tril(A)和tril(A,k)完全相同。4.1.2特殊矩阵的生成1.魔方矩阵函数magic(n),其功能是生成一个n阶魔方阵。例4.2将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。命令如下:B=100+magic(5)2.范得蒙
4、矩阵函数vander(V)生成以向量V为基础向量的范得蒙矩阵。3.希尔伯特矩阵生成希尔伯特矩阵的函数是hilb(n)。MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。4.托普利兹矩阵生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第1列,y为第1行的托普利兹矩阵。这里x,y均为向量,二者不必等长。5.友矩阵生成友矩阵的函数是:compan(P),生成多项式P的友矩阵。P是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。6.帕斯卡矩阵函数pas
5、cal(n)生成一个n阶的帕斯卡矩阵。例4.3求(x+y)5的展开式。在MATLAB命令窗口,输入命令:pascal(6)ans=111111123456136101521141020355615153570126162156126252其次对角线上的元素1,5,10,10,5,1即为展开式的系数。4.2矩阵分析4.2.1矩阵结构变换1.矩阵的转置转置运算符是单撇号(')。2.矩阵的旋转矩阵的旋转利用函数rot90(A,k),功能是将矩阵A旋转90º的k倍,当k为1时可省略。3.矩阵的左右翻转对矩阵A实施左右翻转的函数是flip
6、lr(A)。4.矩阵的上下翻转对矩阵A实施上下翻转的函数是flipud(A)。4.2.2矩阵的逆与伪逆1.矩阵的逆求一个矩阵的逆非常容易。求方阵A的逆可调用函数inv(A)。例4.4用求逆矩阵的方法解线性方程组。命令如下:A=[1,2,3;1,4,9;1,8,27];b=[5,–2,6]';x=inv(A)*b一般情况下,用左除比求矩阵的逆的方法更有效,即x=Ab。2.矩阵的伪逆MATLAB中,求一个矩阵伪逆的函数是pinv(A)。例4.5求A的伪逆,并将结果送B。命令如下:A=[3,1,1,1;1,3,1,1;1,1,3,1
7、];B=pinv(A)例4.6求矩阵A的伪逆。在MATLAB命令窗口,输入命令:A=[0,0,0;0,1,0;0,0,1];pinv(A)4.2.3方阵的行列式求方阵A所对应的行列式的值的函数是det(A)。例4.7用克莱姆(Cramer)方法求解线性方程组。程序如下:D=[2,2,-1,1;4,3,-1,2;8,5,-3,4;3,3,-2,2];%定义系数矩阵b=[4;6;12;6];%定义常数项向量D1=[b,D(:,2:4)];%用方程组的右端向量置换D的第1列D2=[D(:,1:1),b,D(:,3:4)];%用方程组的
8、右端向量置换D的第2列D3=[D(:,1:2),b,D(:,4:4)];%用方程组的右端向量置换D的第3列D4=[D(:,1:3),b];%用方程组的右端向量置换D的第4列DD=det(D);x1=det(D1)/DD;x2=det(D2)/DD;x3=det(