特殊矩阵
通用型的特殊矩阵
zeros函数:产生全0矩阵,即零矩阵
ones函数:产生全1矩阵,即幺矩阵
eye函数: 产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。
rand函数:产生(0,1)区间均匀分布的随机矩阵
randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。
以上函数三种调用格式 例:
产生m x m 零矩阵 :zeros(m)
产生m x n 零矩阵 :zeros(m,n)
产生与矩阵A同型的零矩阵 :zeros(sizeof(A))
面向专门学科的特殊矩阵
1、 魔方矩阵:n阶魔方阵由1..n2 共n2个整数组成,其每行每列及主、副对角线元素
之和都相等。当n>=2时,有多个不同的n阶魔方阵。
magic(n):产生一个特定(不是所有的)n阶的魔方阵
2、 范德蒙(Vandermonde的)矩阵(常用与通信编码纠错):
vander(v)函数:生成以向量V为基础的范德蒙矩阵
3、 希尔伯特(Hilbert)矩阵:H( i , j )= 1/ (i+j-)
Hilb(n)函数:生成n阶希尔伯特矩阵
4、 伴随矩阵(??):
Compan(p)函数:求矩阵P的伴随矩阵
5、 帕斯卡矩阵:P( i , j )=p(i , j-1) + p(i-1,j) 且 p(i , 1)= p(1,j)=1
Pascal(n)函数:生成帕斯卡矩阵
矩阵变换
对角矩阵:只有对角线上有非零元素的矩阵
1、 提取矩阵的对角阵:
a) diag(A):提取矩阵A主对角线元素,产生一个列向量。
b) diag(A,k):提取矩阵A第k条对角线元素,产生一个列向量
c) diag(V):以向量V为主对角线元素,产生对角矩阵。
三角阵:
1、 上三角阵:
a) triu(A)函数:提取矩阵A的主对角线及以上元素,产生一个上三角函数
b) triu(A,k)函数:提取矩阵A的第k条主对角线及以上的元素
2、 下三角阵:
a) tril(A)函数:同理上三角阵
b) tril(A,k)函数:同理
矩阵的装置
1、 转置运算符:小数点加单引号(.’ ) 例:求A的转置矩阵:A.’
2、 共轭转置运算符:单引号(’)
矩阵的旋转
rot90(A,k):将矩阵A逆时针方向旋转90度的k倍,当k为1时,可省略
矩阵的翻转
翻转是将原始矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…以此类推
fliplr(A):对矩阵A实施左右翻转
flipud(A):对矩阵A实施上下翻转
矩阵的求逆
inv(A):求A的逆矩阵
矩阵求值
矩阵的行列式:det(A)函数
矩阵的秩:rank(A)函数
矩阵的迹:矩阵的迹等于矩阵主对角元素之和(或矩阵特征值之和) trace(A)函数
矩阵和向量的范数:
norm(V,1):计算向量V的绝对值之和(或所有矩阵列元素绝对值之和的最大值)
向量V(或矩阵A的)的1——范数
norm(V,2)或norm(V):计算向量V元素平方和的平方根(或A’A矩阵的最大特征值的平方根)
向量V(或矩阵A的)的2——范数
norm(V,inf):计算所有向量元素绝对值中最大的值(或所有矩阵行元素绝对值之和的最大值) 向量V(或矩阵A的)的∞——范数
矩阵的条件数:
矩阵A的条件数等于A的范数与A的逆矩阵的范数的乘积。
条件数越接近1,矩阵的性能越好,反之,矩阵性能越差。
计算矩阵A的3种条件数的函数:
cond(A,1):计算A的1——范数下的条件数
cond(A)或cond(A,2):计算A的2——范数数下的条件数
cond(A,inf):计算A的∞——范数下的条件数
矩阵的特征值和特征向量
E=eig(A):求矩阵A的全部特征值,构成向量E
[X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量。
eigshow(A):用于演示向量x与Ax之间关系
稀疏矩阵
稀疏矩阵的基本类型:
无规则结构的稀疏矩阵与有规则结构的稀疏矩阵
矩阵的存储方式:
完全存储方式 :按列存储
稀疏存储方式 :只存储矩阵的非零元素的值及其位置,即行号和列号
注意:采用稀疏存储方式时,矩阵元素的存储顺序并没有改变,也是按列的顺序进行存
稀疏存储方式的产生
(1) 完全存储方式与稀疏存储方式之间的转换
A=sparse(S):将矩阵S转化为稀疏存储方式的矩阵A
S=full(A):将矩阵A转化为完全存储方式的矩阵S
(2) 直接建立稀疏存储矩阵
(sparse其他调用格式)
sparse(m, n):生成一个 m x n 的所有元素都是零的稀疏矩阵。
sparse(u,v,S):其中u、v、S是3个等长的向量。S是要建立的稀疏存储矩阵的 非零元素,u(i)、v(j) 分别是S(i)的行和列下标
(使用spconvert函数直接建立稀疏存储矩阵)
B=spconvert(A):A为一个m x 3或 m x 4 的矩阵,其每行表示一个非零元素,m是非零元素个数
(3) 带状稀疏矩阵的稀疏存储
[B,d]=spdiags(A):B每条对角线的元素所组成的矩阵,d非零对角线位置向量
A=spdiags(B,d,m,n):产生带状稀疏矩阵的稀疏存储矩阵A,其中m、n为原带状
稀疏矩阵的行数和列数,矩阵B的第i列即为第i条非零对角线,向量d为原带状稀疏矩阵所有非零对角线的位置。
(4) 单位矩阵的系数存储
speye(m,n):返回一个m x n 的稀疏存储单位矩阵