MATLAB-2-1特殊矩阵

1. 通用的特殊矩阵

zeros( ):产生全0矩阵,即零矩阵
ones( ):产生全1矩阵,即幺矩阵
eye( ):产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。
rand( ):产生(0,1)区间均匀分布的随机矩阵,不包括0和1。
randn( ):n表示normal,产生均值为0,方差为1的标准正态分布随机矩阵

2. 调用格式

zeros(m):产生m×m阶零矩阵
zeros(m,n):产生m×n阶零矩阵
zeros(size(A)):产生与矩阵A相同维数的零矩阵
rand( ):产生(0,1)开区间均匀分布的随机数
fix(a+(b-a+1)*x):产生[a,b]区间上均匀分布的随机整数
randn( ):产生均值为0,方差为1的标准正态分布随机数x
μ+σx:产生均值为μ,方差为σ^2的随机数

>> A=rand(5);
>> A1=fix(10+90*A);
%产生两位随机整数矩阵
>> B=randn(5);
>>> B1=0.6+sqrt(0.1)*B;
%产生均值为0.6,方差为0.1的5阶正态分布随机矩阵
>> (A1+B1)*eye(5)==eye(5)*A1+B1*eye(5)
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

可化简为:

>> A=fix(10+(99-10+1)*rand(5));
>> B=0.6+sqrt(0.1)*randn(5);
>> C=eye(5);
>> (A+B)*C==C*A+B*C
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

3. 用于专门学科的特殊矩阵

a. 魔方阵(Magic Square)

语法:magic( )

  • 产生魔法矩阵,每行每列以及对角线元素之和相等。
  • MATLAB中,每次产生同样阶数的魔方阵相同。
  • n阶魔方阵由1,2,3,…,n^2 共n^2 个整数组成,且每行每列及主、副对角线上各n个元素之和都相等。
  • n阶魔方阵每行每列元素的和为 ( 1 + 2 + 3 + . . . + n 2 ) / n = ( n + n 3 ) / 2 (1+2+3+...+n^2)/n=(n+n^3 )/2 (1+2+3+...+n2)/n=(n+n3)/2.
%e.g.产生8阶魔方阵,求每行每列元素之和。
>> M=magic(8);
>> sum(M(1,:))
ans =
   260
>> sum(M(:,1))
ans =
   260
%e.g.将3阶魔方矩阵对角线元素加10
>> A=magic(3);
>> B=A+10*eye(size(A))
B =
      18              1              6       
       3             15              7       
       4              9             12    

b. 范德蒙矩阵(Vandermonde)

  • 最后一列全为1,即各元素的0次方;
  • 倒数第二列为指定的向量v,即各元素的一次方;
  • 其它列为其后列与倒数第二列的点乘积;
    在这里插入图片描述
    语法:vander(V)
    生成以向量V为基础的范德蒙矩阵
>> 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

范德蒙矩阵常用在各种通信系统的纠错编码中,例如,常用的Read-Solomon编码即以范德蒙矩阵为基础。

c. 希尔伯特矩阵

语法:hilb(n)
生成n阶希尔伯特矩阵
在这里插入图片描述

>> format rat
%为便于观察,设置输出格式,以有理数(整数和分数的集合)格式输出
>> H=hilb(4)
H =
       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  
%一种病态矩阵,即任何一个元素的值发生小小的变动,整个矩阵的值和逆矩阵都会发生很大的变化。病态程度和矩阵的阶数相关,随着阶数的增加,病态更加严重

d. 伴随矩阵

伴随矩阵的特征值为多项式的根。
语法格式:compan( p)
p为一个多项式的系数向量,高次幂系数排在前,低次幂系数排在后
在这里插入图片描述

%e.g.生成多项式x^3−2x^2−5x+6的伴随矩阵。
>> p=[1,-2,-5,6];
>> A=compan(p)
A =
     2     5    -6
     1    0     0
     0     1     0
%e.g.多项式的伴随矩阵的特征值与多项式方程的根有何关系?请用命令验证。
>> p=[1,2,1];
>> A=compan(p);
>> roots(p)==eig(A)
ans =
  2×1 logical 数组
   1
   1

e. 帕斯卡矩阵

在这里插入图片描述
在这里插入图片描述

%e.g.生成5阶帕斯卡矩阵,验证它的逆矩阵的所有元素也为整数
>> format rat
>> P=pascal(5)
P =
       1              1              1              1              1       
       1              2              3              4              5       
       1              3              6             10             15       
       1              4             10             20             35       
       1              5             15             35             70       
>> inv(P)
ans =
       5            -10             10             -5              1       
     -10             30            -35             19             -4       
      10            -35             46            -27              6       
      -5             19            -27             17             -4       
       1             -4              6             -4              1      
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值