matlab矩阵的操作

笑着哭i 提交于 2019-12-26 09:33:38

特殊矩阵

  通用型的特殊矩阵

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 的稀疏存储单位矩阵

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!