特殊矩阵的实现第1页,共15页,星期日,2025年,2月5日
1.零矩阵:所有元素值为零的矩阵称为零矩阵。零矩阵可以用zeros函数实现。使用格式如下:zeros(m):产生m×m阶零矩阵;zeros(m,n):产生m×n阶零矩阵,当m=n时等同于zeros(m);zeros(size(A)):产生与矩阵A同样大小的零矩阵。一、特殊矩阵的实现第2页,共15页,星期日,2025年,2月5日
2.幺矩阵:所有元素值为1的矩阵称为幺矩阵。幺矩阵可以用ones函数实现,调用格式与zeros函数一样。3.单位矩阵:主对角线的元素值为1、其余元素值为0的矩阵称为单位矩阵。可以用函数eye建立,使用格式与zeros相同。第3页,共15页,星期日,2025年,2月5日
4.数量矩阵:主对角线的元素值为一常数d、其余元素值为0的矩阵称为数量矩阵。显然,当d=1时,即为单位矩阵,故数量矩阵可以用eye(m)*d或eye(m,n)*d建立。5.对角阵:对角线的元素值为常数、其余元素值为0的矩阵称为对角阵。可以通过内部函数diag,用一个向量构成对角阵;或从矩阵中提取某对角线构成一个向量。使用格式为diag(V)和diag(V,k)两种,具体如下:第4页,共15页,星期日,2025年,2月5日
设V为具有m个元素的向量,diag(V)将产生一个m×m阶对角阵,其主对角线的元素值即为向量的元素值;diag(V,k)将产生一个n×n(n=m+|k|,k为一整数)阶对角阵,其第k条对角线的元素值即为向量的元素值。注意:当k>0,则该对角线位于主对角线的上方第k条;当k<0,该对角线位于主对角线的下方第|k|条;当k=0,则等同于diag(V)。用diag建立的对角阵必是方阵。第5页,共15页,星期日,2025年,2月5日
例已知向量v,试建立以向量v作为主对角线的对角阵A;建立分别以向量v作为主对角线两侧的对角线的对角阵B和C。MATLAB程序如下:第6页,共15页,星期日,2025年,2月5日
v=[1;2;3];%建立一个已知的向量AA=diag(v)A=100020003B=diag(v,1)B=0100002000030000C=diag(v,-1)C=0000100002000030第7页,共15页,星期日,2025年,2月5日
从矩阵中提取某对角线可以用diag从矩阵中提取某对角线构成一个向量。设A为m×n阶矩阵,diag(A)将从矩阵A中提取主对角线产生一个具有min(m,n)个元素的向量。diag(A,k)的功能是:当k>0,则将从矩阵A中提取位于主对角线的上方第k条对角线构成一个具有n-k个元素的向量;当k<0,则将从矩阵A中提取位于主对角线的下方第|k|条对角线构成一个具有m+k个元素的向量;当k=0,则等同diag(A)。第8页,共15页,星期日,2025年,2月5日
例已知矩阵A,试从矩阵A分别提取主对角线及下侧的对角线构成向量B和C。A=[123;456];b=diag(A)b=15B=diag(b)c=diag(A,-1)c=4C=diag(c,-1)第9页,共15页,星期日,2025年,2月5日
6.上三角阵:使用格式triu(A)、triu(A,k)设A为m×n阶矩阵,triu(A)将从矩阵A中提取主对角线之上的上三角部分构成一个m×n阶上三角阵;triu(A,k)将从矩阵A中提取主对角线第k条对角线之上的上三角部分构成一个m×n阶上三角阵。注意:这里的k与diag(A,k)的用法类似,当k>0,则该对角线位于主对角线的上方第k条;当k<0,该对角线位于主对角线的下方第|k|条;当k=0,则等同于triu(A)第10页,共15页,星期日,2025年,2月5日
例试分别用triu(A)、triu(A,1)和、triu(A,-1)从矩阵A提取相应的上三角部分构成上三角阵B、C和D。A=[123;456;789;98