matlab之简单的函数汇总(二)——特殊矩阵的生成与处理函数

matlab中有许多的特殊矩阵,有通用矩阵,如:零矩阵、全1矩阵、随机矩阵等,也有专用学科的特殊矩阵,如:魔方矩阵、希尔伯特矩阵等。matlab也有对应的函数来生成和处理这些矩阵,这篇文章将会整理出一些特殊矩阵中会用到的函数。
1.矩阵的生成
零矩阵:
zeros(m):产生mm零矩阵。
zeros(m,n):产生m
n零矩阵。
zeros(size(A)):产生与矩阵A同样大小的零矩阵。

全1矩阵:
ones(m):产生mm全1矩阵。
ones(m,n):产生m
n全1矩阵。
ones(size(A)):产生与矩阵A同样大小的全1矩阵。

对角线为1的矩阵:
eye(m):产生mm的单位矩阵。
eye(m,n):产生m
n的对角线为1的矩阵。
eye(size(A)):产生与矩阵A同样大小的对角线为1矩阵。

随机矩阵:
rand(m):产生mm的(0,1)区间里均匀分布的随机矩阵。
randn(m):产生m
m的均值为0,方差为1的标准正态分布随机矩阵。
如有特殊要求直接乘以要求就行
图为1到36的整数6*6随机矩阵

魔方矩阵:
magic(m):产生m阶的魔方矩阵

范德蒙矩阵:
vander(V):产生以V为基础的范德蒙矩阵。

希尔伯特矩阵:
Hilb(V):产生以V为基础的希尔伯特矩阵。

伴随矩阵:
compan§:产生以p为基础的伴随矩阵。其中p是多项式的向量。

帕斯卡矩阵:
pascal(n):生成一个n阶帕斯卡矩阵。

2.矩阵的处理
对角阵:
diag(A):提取矩阵A主对角线元素,产生一个列向量。
diag(A,k):提取矩阵A第k条对角线元素,产生一个列向量。
diag(V):以向量V为对角线元素,产生对角矩阵。
diag(V,k):以向量V为第k条对角线元素,产生对角矩阵。

三角阵:
triu(A):提取矩阵A的主对角线以上的元素。
triu(A,k):提取矩阵A的第k条对角线以上的元素。
tril(A):提取矩阵A的主对角线以下的元素。
tril(A,k):提取矩阵A的第k条对角线以下的元素。
转置运算符是A.’ 共轭转置是A’

矩阵的旋转:
Rot90(A,k):将矩阵A逆时针方向旋转90°的k倍,k可省略。

矩阵的翻转:
fliplr(A):对矩阵A实施左右翻转。
flipud(A):对矩阵A实施上下翻转。

矩阵的求逆:
inv(A):求方阵A的逆矩阵。

det(A):求方阵A所对应的行列式的值。
rank(A):求矩阵A的秩。
trace(A):求矩阵的迹。
norm(V,k):计算向量V的k范数。
norm(V,inf):计算向量V的无穷大范数。
cond(A,k):计算A的在k范数下的条件数。
cond(A,inf):计算A的无穷大范数下的条件数。

E=eig(A):求矩阵A的全部特征值,构成向量E。
[X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量。
A=sparse(S):将矩阵S转化为稀疏存储方式的矩阵A。
S=full(A):将矩阵A转化为完全存储方式矩阵S。
B=spconvert(A):直接建立稀疏存储矩阵。


版权声明:本文为ddfy1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。