matlab:lesson2

特殊矩阵

1、通用的特殊矩阵

(1)0矩阵

>> zeros(4)%等边矩阵
ans =
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
 >> zeros(4,5)%自定义长宽
ans =
     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0

(2)1矩阵

>> ones(4)%等边矩阵
ans =
     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1
 >> ones(4,5)%自定义长宽
ans =
     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1

(3)单位矩阵

>> eye(4)%等边矩阵
ans =
     1     0     0     0
     0     1     0     0
     0     0     1     0
     0     0     0     1
 >> eye(4,5)%自定义长宽
ans =
     1     0     0     0     0
     0     1     0     0     0
     0     0     1     0     0
     0     0     0     1     0

(4)随机矩阵

>> rand(4)%等边矩阵
ans =
    0.4324    0.1734    0.0605    0.6569
    0.8253    0.3909    0.3993    0.6280
    0.0835    0.8314    0.5269    0.2920
    0.1332    0.8034    0.4168    0.4317

>> rand(4)%等边矩阵
ans =
    0.4324    0.1734    0.0605    0.6569
    0.8253    0.3909    0.3993    0.6280
    0.0835    0.8314    0.5269    0.2920
    0.1332    0.8034    0.4168    0.4317

案例:
产生一个5阶随机方阵A,元素为[5,45]区间的随机整数,然后判断A的元素能否被5整除,能整除的输出0,不能整除的使出1;

%方法一:
>> A = fix(rand(5) * 40 + 5)
A =
    15    11    23     7    37
    28    12    32    17    33
     5    21    32    26    43
    22     8    30    31    26
    17    28     6    21    18
>> B = rem(A,5)
B =
     0     1     3     2     2
     3     2     2     2     3
     0     1     2     1     3
     2     3     0     1     1
     2     3     1     1     3
>> B ~= 0
ans =
  5×5 logical 数组
   0   1   1   1   1
   1   1   1   1   1
   0   1   1   1   1
   1   1   0   1   1
   1   1   1   1   1
%方法二:
>> A = fix(rand(5) * 40 + 5)
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> mod(A,5) == 0
ans =
  5×5 logical 数组
   0   0   0   0   0
   0   1   0   0   0
   0   0   1   0   0
   0   1   0   0   0
   1   0   0   0   0

2、用于专门学科的特殊矩阵

magic()%魔方矩阵
vander()%范德蒙矩阵
hilb()%希尔伯特矩阵
toeoilte()%托普利兹矩阵
compan()%伴随矩阵
pascal()%帕斯卡矩阵

3、矩阵变换
(1)对角线矩阵
diag(V,k)其功能是产生一个对角阵,其中第k条对角线的元素即为向量V的元素

>> A
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> D = diag(A)
D =
    38
    20
    35
    33
    34
>> D = diag(A,2)
D =
    21
     6
    29

(2)三角阵
triu()其功能是求矩阵A的第k条对角线以上的元素。

>> A = fix(rand(4) * 20)
A =
    18    16    17    19
    12    11     0    14
    12     3     9    10
    17     4     3     9
>> triu(A)
ans =
    18    16    17    19
     0    11     0    14
     0     0     9    10
     0     0     0     9
 >> triu(A,1)
ans =
     0    16    17    19
     0     0     0    14
     0     0     0    10
     0     0     0     0
     
>> tril(A)
ans =
    18     0     0     0
    12    11     0     0
    12     3     9     0
    17     4     3     9
>> tril(A,3)
ans =
    18    16    17    19
    12    11     0    14
    12     3     9    10
    17     4     3     9

3、矩阵转置与旋转

(1)矩阵的转置

>> A
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> A'
ans =
    38    18    36    32     5
    29    20    41     5    23
    21    23    35    17    36
    23     6    12    33    23
    11    18    29    12    34

(2)矩阵的旋转

>> A
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> rot90(A)
ans =
    11    18    29    12    34
    23     6    12    33    23
    21    23    35    17    36
    29    20    41     5    23
    38    18    36    32     5
>> rot90(A,2)
ans =
    34    23    36    23     5
    12    33    17     5    32
    29    12    35    41    36
    18     6    23    20    18
    11    23    21    29    38

(3)矩阵的左右旋转

>> A
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> fliplr(A)
ans =
    11    23    21    29    38
    18     6    23    20    18
    29    12    35    41    36
    12    33    17     5    32
    34    23    36    23     5

(4)矩阵的上下旋转

>> A
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> flipud(A)
ans =
     5    23    36    23    34
    32     5    17    33    12
    36    41    35    12    29
    18    20    23     6    18
    38    29    21    23    11

4、矩阵求值

(1)行列式函数的值

>> A
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> det(A)
ans =
   1.6085e+06

(2)矩阵的秩与迹

%矩阵的秩
>> A
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> rank(A)
ans =
     5
 %矩阵的迹
>> A
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> trace(A)
ans =
   160

(3)矩阵的条件数

>> A
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> cond(A)
ans =
   63.4343

(4)矩阵的特征值与特征向量

>> A
A =
    38    29    21    23    11
    18    20    23     6    18
    36    41    35    12    29
    32     5    17    33    12
     5    23    36    23    34
>> eig(A)
ans =
  117.3679
   33.0451
   19.0142
   -5.3516
   -4.0756

>> [X,D] = eig(A)
X =
    0.4459    0.3604   -0.2077   -0.3391   -0.2466
    0.3287   -0.2647   -0.2364    0.1927    0.0401
    0.5781   -0.3463   -0.4455    0.5426    0.6615
    0.3719    0.7432    0.5931    0.2378    0.1292
    0.4697   -0.3574    0.5922   -0.7049   -0.6952

D =
  117.3679         0         0         0         0
         0   33.0451         0         0         0
         0         0   19.0142         0         0
         0         0         0   -5.3516         0
         0         0         0         0   -4.0756

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值