特殊矩阵
1.通用的特殊矩阵
zeros函数:产生全0矩阵,即零矩阵。
ones函数:产生全1矩阵,即幺矩阵。
eye函数:产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。
rand函数:产生(0,1)区间均匀分布的随机矩阵。
randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。
zeros函数的调用格式:
zeros(m):产生m×m零矩阵。
zeros(m,n):产生m×n零矩阵。
zeros(size(A)):产生与矩阵A同样大小的零矩阵。
fix(a+(b-a+1)*x):产生[a,b]区间上均匀分布的随机整数。
>> A=fix(10+(99-10+1)*rand(5));
产生5行5列随机矩阵A,其值是10到99之间的整数
B=0.6+sqrt(0.1)*randn(5);
产生均值为0.6方差为0.1的5行5列正态分布矩阵B
2、用于专门学科的特殊矩阵
魔方矩阵
n阶魔方阵由1,2,3,…,n2共n2个整数组成、且每行、每列以及主、副对角线上各n个元素之和都相等。
n阶魔方阵每行每列元素的和为(1+2+3+…+ n2)/n=(n+n3)/2
n>2时有很多不同的n阶魔方阵,MATLAB函数magic(n)产生一个特定的魔方阵。
范德蒙矩阵
在MATLAB中,函数vander(V)生成以向量V为基础的范得蒙矩阵。
希尔伯特矩阵 是病态矩阵
生成n阶希尔伯特矩阵的函数是hilb(n)。
希尔伯特矩阵的元素为H(i,j)=1/(i+j-1)。
伴随矩阵
设多项式p(x)为axn+axn-1+…+ax+a,则多项式的伴随矩阵是:
p(x)称为A的特征多项式,方程p(x)=0的根称为A的特征值。、
MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。
eig函数求矩阵A的特征值
- E=eig(A):求矩阵A的全部特征值,构成向量E。
- [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。
- [V,D]=eig(A,'nobalance'):与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。
- E=eig(A,B):由eig(A,B)返回N×N阶方阵A和B的N个广义特征值,构成向量E。
- [V,D]=eig(A,B):由eig(A,B)返回方阵A和B的N个广义特征值,构成N×N阶对角阵D,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向量构成N×N阶满秩矩阵,且满足AV=BVD。
roots求多项式的根
帕斯卡矩阵
帕斯卡矩阵的第一行元素和第一列元素都为1,其余位置的元素是该元素的左边
元素与上面元素相加,即P(i,j)=P(i,j-1)+P(i-1,j),且P(i,1)=1,P(1,j)=1。
函数pascal(n)生成一个n阶帕斯卡矩阵。