zoukankan      html  css  js  c++  java
  • matlab矩阵的操作

    特殊矩阵

      通用型的特殊矩阵

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

  • 相关阅读:
    事件(五):事件委托
    事件(四):事件类型
    【[ZJOI2005]午餐】
    【[POI2006]OKR-Periods of Words】
    【2^k进制数】
    【[SHOI2015]脑洞治疗仪】
    【[NOI2016]区间】
    【[SHOI2014]概率充电器】
    【逛公园】
    【[CQOI2014]数三角形】
  • 原文地址:https://www.cnblogs.com/z-bear/p/9274015.html
Copyright © 2011-2022 走看看