【概述】
在 matlab 中,我们经常会对矩阵进行测试,为了便于测试,matlab 中给出了一些常用的测试矩阵,其满足一些性质
常见的特殊矩阵有:魔方矩阵、随机矩阵、希尔伯特矩阵、范德蒙矩阵、托普利兹矩阵、帕斯卡矩阵
【魔方矩阵】
- 特征:当 $n\geq 2$ 时,每行、每列、两对角线元素和相等
- 创建:
magic(n)
【随机矩阵】
普通随机矩阵:
rand(n)
:生成矩阵元素为 0~1 的 $n*n$ 方阵rand(n,m,p,...q)
:生成矩阵元素为 0~1 的 $n*m*p*…*q$ 的矩阵
满足正态分布的随机矩阵:
randn(n)
:生成矩阵元素为 0~1 之间满足正态分布的 $n*n$ 方阵rand(n,m,p,...q)
:生成矩阵元素为 0~1 之间满足正态分布的 $n*m*p*…*q$ 的矩阵
应用:
若想生成一个 1~10 的 $3*3$ 的方阵,可以将rand(n)
与乘法、取整函数组合使用,即:ceil(10\*rand(3))
【希尔伯特矩阵】
- 特征:$H(i,j)=\frac{1}{(i+j-1)}$、条件数差矩阵、关于主对角线对称
- 创建:
hilb(n)
- 逆希尔伯特矩阵:
inhilb(n)
【范德蒙矩阵】
- 特征:$A(i,j)=v(i)^{(n-j)},n=length(v)$
- 生成:
vander(v)
【托普利兹矩阵】
- 特征:主对角线元素相等,平行于主对角线的元素相等,关于次对角线对称
- 创建:
toeplitz(v)
:利用向量 v 生成一个托普利兹矩阵toeplitz(k,r)
:非对称托普利兹矩阵,第一列为向量 k,第一行为向量 r,其余元素等于其左上角元素
【帕斯卡矩阵】
- 特征:杨辉三角表形成的矩阵,二次项展开的系数
- 创建:
Pascal(n)
:n 阶对称正定帕斯卡矩阵Pascal(n,1)
:由下三角的 Cholesky 因子组成的帕斯卡矩阵,是对称的,自己是自己的逆Pascal(n,2)
:返回Pascal(n,1)
的转置和交换形式