第五讲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行元素乘以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列的表格中,使其每行每列及对角线的和均为565。B=100+magic(5)A=vander(1:5)A=11111168421812793125664164162512525512.范得蒙矩阵(Vandermonde)函数A=vander(V)生成以向量V为基础向量的范得蒙矩阵。)()()(jniViA3.希尔伯特矩阵(Hilbert)生成希尔伯特矩阵的函数:H=hilb(n)hilb(3)ans=1.00000.50000.33330.50000.33330.25000.33330.25000.2000求n阶希尔伯特矩阵的逆的函数:invhilb(n)11),(jijiH4.托普利兹矩阵(Toeplitz)生成托普利兹矩阵的函数: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.50003.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-610001067)3)(2)(1(3xxxxxeig(compan(u))ans=-3.00002.00001.00006.帕斯卡矩阵(Pascal)函数A=pascal(n)生成一个n阶的帕斯卡矩阵。pascal(5)ans=1111112345136101514102035151535...