Alex_McAvoy

想要成为渔夫的猎手

Matlab 特殊矩阵

【概述】

在 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) 的转置和交换形式
感谢您对我的支持,让我继续努力分享有用的技术与知识点!