MATLAB_2_矩阵处理

MATLAB_矩阵处理

需要提到的数学知识

这里只是简单的了解,不做太多性质上的解释,或者以后更新吧。

名称 定义
对角 只有对角线上有非零元素的矩阵
数量矩阵 对角线上的元素全相等的对角阵
单位矩阵 对角线上的元素都为1的对角矩阵
上三角形矩阵 对角线以下的元素全为零的矩阵
下三角形矩阵 对角线以上的元素全为零的矩阵
矩阵 元素全为0的矩阵
矩阵 元素全为1的矩阵
魔方矩阵 组成元素为自然数1、2、…、n2的平方的n×n的方阵,其中每个元素值都不相等,且每行、每列以及主、副对角线上各n个元素之和都相等。
范德蒙矩阵 最后一列全为1,倒数第二列为指定的V向量,其他列是其后列与倒数第二列的点乘积。(从最后一列是V的0次方,一次到第一列为V的n-1次方。
希尔伯特矩阵 H(i,j) = 1/(i+j-1)
伴随矩阵 矩阵A中的元素都用它们在行列式A中的代数余子式替换后得到的矩阵,再转置
帕斯卡矩阵 由杨辉三角形表组成的矩阵称为帕斯卡矩阵,矩阵的第n行为三角左斜线的第n条。
方阵的行列式 把方阵按照行列式进行运算
矩阵的 线性无关的行数或列数成为矩阵的秩
矩阵的 等于矩阵对角线元素的和,也等于矩阵特征值的和
向量和矩阵的范数 用来度量矩阵或向量在某种意义下的长度
矩阵的条件数 等于矩阵的范数与逆矩阵的范数的乘积
矩阵的特征值 设 A 是n阶方阵,如果存在数m和非零n维列向量x,使得 Ax=mx 成立,则称 m 是矩阵A的一个特征值,x是对应特征值的特征向量

注:

  • 范德蒙矩阵常用于各种通信系统的纠错编码。
  • 希尔伯特矩阵是著名的病态矩阵,阶数越高,病态越严重。
  • 奇数阶魔方矩阵为满秩矩阵,一重偶数阶的秩为n/2+2(n为2的倍数但不是4的倍数),二重偶数阶的秩都为3(阶数是4的倍数)。
  • 矩阵的条件数越接近于1,矩阵的性能越好。反之,矩阵的性能越差。

相关的函数

注:代码采用C描述
零,幺矩阵

zeros(m,n) // 产生m * n的全零矩阵
ones(m,n) // 产生m * n的全1矩阵

可以通过zeors(size(A))的方式产生和A一样形状的全零矩阵。

单位矩阵

eye(m,n)   // 产生m * n的对角线为1其他为0的矩阵,当为方阵时产生单位矩阵

魔方矩阵

magic(n)  //产生n阶的魔方矩阵

范德蒙矩阵

vander(V)   //产生以V为向量的范德蒙矩阵

希尔伯特矩阵

hilb(n)    // 产生n接希尔伯特矩阵

伴随矩阵

compan(p)    //产生p向量的伴随矩阵

帕斯卡矩阵

pascal(n)    //产生n阶帕斯卡矩阵

提取矩阵的对角线元素

diag(A,k)  // 提取A矩阵的第k条对角线元素,主对角线元素为0,其上为1,其下为-1,以此类推

构造对角矩阵

扫描二维码关注公众号,回复: 11338119 查看本文章
diag(V,k)  // 以V向量为第k条对角线元素,主对角线k值为0,其上为1,其下为-1,以此类推

上,下三角形矩阵

triu(A,k)   // 提取A矩阵的第k条对角线以上的元素
tril(A,k)   // 提取A矩阵的第k条对角线以下的元素

矩阵的旋转

rot90(A,k)  // 将矩阵A逆时针旋转90°的k倍,k为1时可省。

矩阵的反转
解释:对矩阵实施左右反转是将原矩阵的第一列与最后一列调换,第二列与倒数第二列调换。。。。以此类推

fliplr(A)   // 矩阵左右翻转
flipud(A) // 矩阵上下反转

矩阵求逆

inv(A)    求A的逆矩阵

方阵的行列式

det(A)    // 求方阵A的行列式

矩阵的秩

rank(A)   // 求矩阵A的秩

矩阵的迹

trace(A)  // 求矩阵A的迹

矩阵的特征值与特征向量

E = eig(A)     // 求矩阵A的全部特征值,构成向量E
[X,D] = eig(A) // 求矩阵A的全部特征值,构成向量D,并产生矩阵X,X的各列是对应的特征向量

完全存储方式

full(A)  //将矩阵A转换为完全存储方式

稀疏存储方式

sparse(A) // 将矩阵A转换为稀疏存储方式
sparse(m,n) // 生成一个m*n全是0的稀疏矩阵
sparse(u,v,S) // 其中u,v,S是三个等长的向量,S是要建立的稀疏存储矩阵的非零元素,u(i) 和 v(i) 分别是S(i)的行,列下标。
B = spconvert(A)  // 直接建立稀疏存储矩阵

带状稀疏存储矩阵
是一种十分典型的有规则的稀疏存储矩阵,指所有非零元素集中在对角线上的矩阵

[B,d] = spdiags(A) // 从带状稀疏存储矩阵矩阵A中提取全部非零对角线元素赋给矩阵B及其这些非零对角线的位置给向量d
A = spdiags(B,d,m,n) //产生一个m×n稀疏矩阵A,其元素是B中的列元素放
在由d指定的对角线位置上

操作符

  • A.’ 进行A矩阵的转置操作
  • A’ 在A矩阵转置的基础上,复数还进行共轭

某些技巧性代码

生成[a,b]区间内均匀分布的随机整数。

fix(a + (b-a+1)*x)     %因为fix是靠0取整,故加1

生成x阶均值为a,方差为b的正态均值随机矩阵

a + sqrt(b) * randn(x)

猜你喜欢

转载自blog.csdn.net/qq_33950926/article/details/97531600