关于MATLAB矩阵处理,这儿全了

特殊矩阵

通用的特殊矩阵

  1. zeros函数:产生全0矩阵,即零矩阵。
    zeros函数的调用格式:

    1. zeros(m): 产生m x m零矩阵。
    2. zeros(m,n): 产生m x n零矩阵。
    3. zeros(size(A)): 产生与矩阵A同样大小的零矩阵。
  2. ones函数:产生全1矩阵,即幺矩阵。

  3. eye函数:产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。

  4. rand函数:产生(0, 1)开区间均匀分布的随机矩阵。
    fix(a+(b-a+1)*x): 产生[a,b]区间上均匀分布的随机整数。

  5. randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。
    μ+σX:得到均值为μ、方差为σ 2的随机数。

>> A=zeros(3,2);
>> zeros(size(reshape(A,3,2)))

ans =

     0     0
     0     0
     0     0

>> zeros(size(reshape(A,2,3)))

ans =

     0     0     0
     0     0     0

>> A=fix(10+(99-10+1)*rand(5));
>> B=0.6+sqrt(0.1)*randn(5);
>> C=eye(5);
>> (A+B)*C==C*A+C*B;
>> (A+B)*C==C*A+C*B

ans =

  5×5 logical 数组

   1   1   1   1   1
   1   1   1   1   1
   1   1   1   1   1
   1   1   1   1   1
   1   1   1   1   1

用于专门学科的特殊矩阵

(1)魔方矩阵- -Magic Square

  • n阶魔方阵由1,2,3,.,n2共n2个整数组成,且每行、每列以及主、副对角线上各n个元素之和都相等。
  • n阶魔方阵由1,2,3,…,n2共n2个整数组成,且每行、每列以及 主、副对角线上各n个元素之和都相等。
  • n阶魔方阵每行每列元素的和为(1+2+3+…+n2)/n=(n+n3)/2。 MATLAB函数magic(n)产生一个特定的魔方阵。
>> A=magic(8);
>> sum(A(1,:))

ans =

   260

>> sum(A(:,1))

ans =

   260

(2)范德蒙矩阵
在MATLAB中,函数vander(V)生成以向量V为基础的范得蒙(Vandermonde )矩阵。
在这里插入图片描述

>> A=vander(1:5)

A =

     1     1     1     1     1
    16     8     4     2     1
    81    27     9     3     1
   256    64    16     4     1
   625   125    25     5     1

(3 )希尔伯特矩阵
n阶希尔伯特( Hilbert )矩阵的一般形式为:
在这里插入图片描述
希尔伯特矩阵的元素为H(i,j)=1/(i+j-1)。

>> format rat
>> A=hilb(4)

A =

       1              1/2            1/3            1/4     
       1/2            1/3            1/4            1/5     
       1/3            1/4            1/5            1/6     
       1/4            1/5            1/6            1/7 

(4)伴随矩阵
在这里插入图片描述
MATLAB生成伴随矩阵的函数是compan( p ) ,其中p是一个多项式的系数向量,高次幂系数排在前,低次幂系数排在后。

>> p=[1,-2,-5,6];
>> A=compan(p)

A =

       2              5             -6       
       1              0              0       
       0              1              0       

矩阵变换

  1. 对角阵

    对角矩阵:只有对角线上有非零元素的矩阵。
    diag(A):提取矩阵A主对角线元素,产生一个列向量 。
    diag(A,k):提取矩阵A第k条对角线的元素,产生一个 列向量。
    diag(V):以向量V为主对角线元素,产生对角矩阵。
    diag(V,k):以向量V为第k条对角线元素,产生对角矩阵。
    数量矩阵:对角线上的元素相等的对角矩阵。
    单位矩阵:对角线上的元素都为1的对角矩阵。

>> A=[7,0,1,0,5;3,5,7,4,1;4,0,3,0,2;1,1,9,2,3;1,8,5,2,9];
>> D=diag(1:5);
>> D*A

ans =14

       7              0              1              0       
       6             10             14              8       
      12              0              9              0       
       4              4             36              8       
       5             40             25             105

       5       
       2       
       6       
      12       
      45       

  1. 三角阵
  2. 矩阵的转置
    转置运算符是小数点后面接单引号(.)。
    共轭转置,其运算符是单引号(’) ,它在转置的基础上还要取每个数的复共轭。
>> A=[1 ,3;3+4i,1-2i]

A =

       1        +    0i             3        +    0i      
       3        +    4i             1        -    2i      

>> A.'

ans =

       1        +    0i             3        +    4i      
       3        +    0i             1        -    2i      

>> A'

ans =

       1        +    0i             3        -    4i      
       3        +    0i             1        +    2i   
  1. 矩阵的旋转
    rot90(A,k):将矩阵A逆时针方向旋转90°的k倍,当k为1时可省略。

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

  3. 矩阵求逆
    inv(A):求方阵A的逆矩阵。
    在线性方程组Ax=b两边各左乘A(-1)有A(-1)Ax=A(-1)b,由于A(-1)A=l,故得x=A(-1) *b。

矩阵求值

矩阵的行列式值
  • 把一个方阵看作一个行列式,并对其按行列式的规则求值,这个 值就称为方阵所对应的行列式的值。
  • det(A):求方阵A所对应的行列式的值。
矩阵的秩
  • 矩阵线性无关的行数或列数称为矩阵的秩。

  • rank(A):求矩阵A的秩。

    奇数阶魔方阵秩为n,即奇数阶魔方阵是满秩矩阵。
    单重偶数阶魔方阵秩为n/2+2 ( n是2的倍数,但非4的倍数)。
    双重偶数阶魔方阵秩均为3 ( 阶数是4的倍数)。

矩阵的迹
  • 矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和。
  • trace(A):求矩阵A的迹。
矩阵的范数

向量的3种常用范数

  1. 向量1-范数:向量元素的绝对值之和。
  2. 向量2一范数:向量元素平方和的平方根。
  3. 向量∞- -范数:所有向量元素绝对值中的最大值。
    norm(V)或norm(V,2):计算向量V的2一范数。
    norm(V,1):计算向量V的1—范数。
    norm(V,inf):计算向量V的∞一范数。

矩阵的范数

  • 矩阵A的1—范数:矩阵列元素绝对值之和的最大值。
  • 矩阵A的2一-范数: A’A矩阵的最大特征值的平方根。
  • 矩阵A的∞一范数:所有矩阵行元素绝对值之和的最大值。
矩阵的条件数
  • cond(A,1):计算A的1—范数下的条件数。
  • cond(A)或condIA,2):计算A的2一范数下的条件数。
  • cond(A,inf):计算A的∞—范数下的条件数。

矩阵的特征值与特征向量

  • E=eig(A) :求矩阵A的全部特征值,构成向量E。
  • [X,D]=eig(A) :求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量。
  • MATLAB提供了一个eigshow函数, 可以演示单位圆上的向量x和Ax之间的关系。

稀疏矩阵

矩阵的存储方式
  1. 完全存储方式
  2. 稀疏存储方式
    稀疏存储方式只存储矩阵的非零元素的值及其位置, 即行号和列号。
    注意,采用稀疏存储方式时,矩阵元素的存储顺序并没有改变,也是按列的顺序进行存储。
稀疏存储方式的产生
  1. 完全存储方式与稀疏存储方式之间的转化
    A=sparse(S): 将矩阵S转化为稀疏存储方式的矩阵A。
    S=ful(A):将矩阵A转化为完全存储方式的矩阵S。
  2. 直接建立稀疏存储矩阵
    sparse函数的其他调用格式:
    sparse(m,n):生成一个m x n的所有元素都是零的稀疏矩阵。
    sparse(u,v,S):其中u、V、S是3个等长的向量。S是要建立的稀疏存储矩阵的非零元素,u(i)、 v(i)分别是S(i)的行和列下标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值