资源描述:
《第六讲-MATLAB数值计算.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五讲MATLAB数值计算5.1特殊矩阵5.2矩阵分析5.3矩阵分解与线性方程组求解5.4数据处理与多项式计算5.5傅立叶分析5.6数值微积分5.7常微分方程的数值求解5.8非线性方程的数值求解5.9稀疏矩阵5.1特殊矩阵5.1.1对角阵与三角阵1.矩阵的对角元素(1)提取矩阵的对角线元素设A为m×n矩阵,diag(A)函数用于提取矩阵A主对角线元素产生一个具有min(m,n)个元素的列向量。(2)构造对角矩阵设V为具有m个元素的向量,diag(V)将产生一个m×m对角矩阵,其主对角线元素即为向量V的元素。例5.1先建立5×5矩阵A,然后将A的第1
2、行元素乘以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的下三角阵:tril(A)。(2)上三角矩阵提取矩阵A的上三角矩阵:triu(A)5.1.2特殊矩阵的生成1.魔方矩阵函数magic(n):生成一个n阶魔方阵。magic(3)ans=816357492例5.2将101~125等25个数填入一个5行5列的
3、表格中,使其每行每列及对角线的和均为565。B=100+magic(5)A=vander(1:5)A=11111168421812793125664164162512525512.范得蒙矩阵(Vandermonde)函数A=vander(V)生成以向量V为基础向量的范得蒙矩阵。3.希尔伯特矩阵(Hilbert)生成希尔伯特矩阵的函数:H=hilb(n)hilb(3)ans=1.00000.50000.33330.50000.33330.25000.33330.25000.2000求n阶希尔伯特矩阵的逆的函数:invhilb(n)4.托普利兹矩阵(T
4、oeplitz)生成托普利兹矩阵的函数:T=toeplitz(c,r),它生成一个以c为第1列,r为第1行的托普利兹矩阵。这里c,r均为向量,二者不必等长。c=[12345];r=[1.52.53.54.55.5];toeplitz(c,r)Warning:Firstelementofinputcolumndoesnotmatchfirstelementofinputrow.Columnwinsdiagonalconflict.ans=1.00002.50003.50004.50005.50002.00001.00002.50003.50004.5
5、0003.00002.00001.00002.50003.50004.00003.00002.00001.00002.50005.00004.00003.00002.00001.00005.伴随矩阵生成伴随矩阵的函数是:A=compan(P),生成多项式P的伴随矩阵。P是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。伴随矩阵的特征值是多项式的根。u=[10-76]A=compan(u)A=07-6100010eig(compan(u))ans=-3.00002.00001.00006.帕斯卡矩阵(Pascal)函数A=pascal(n)生成
6、一个n阶的帕斯卡矩阵。pascal(5)ans=1111112345136101514102035151535705.2矩阵分析5.2.1矩阵结构变换1.矩阵的转置转置运算符是单撇号(')。2.矩阵的旋转矩阵的旋转利用函数rot90(A,k),功能是将矩阵A旋转90º的k倍,当k为1时可省略。3.矩阵的左右翻转对矩阵A实施左右翻转的函数是fliplr(A)。4.矩阵的上下翻转对矩阵A实施上下翻转的函数是flipud(A)。5.2.2矩阵的逆与伪逆1.矩阵的逆求方阵A的逆可调用函数inv(A)。例5.4用求逆矩阵的方法解线性方程组。A=[1,2,3;
7、1,4,9;1,8,27];b=[5,–2,6]';x=inv(A)*b一般情况下,用左除比求矩阵的逆的方法更有效,即x=Ab。2.矩阵的伪逆对奇异方阵和长方阵,求矩阵伪逆的函数是pinv(A)。例5.5求A的伪逆,并将结果送B。A=[3,1,1,1;1,3,1,1;1,1,3,1];B=pinv(A)例5.6求矩阵A的伪逆。A=[0,0,0;0,1,0;0,0,1];pinv(A)5.2.3方阵的行列式求方阵A所对应的行列式的值:det(A)。例5.7用克莱姆(Cramer)方法求解线性方程组。D=[2,2,-1,1;4,3,-1,2;8,5,
8、-3,4;3,3,-2,2];%定义系数矩阵b=[4;6;12;6];%定义常数项向量D1=[b,D(:,2:4)];%用