跳到内容

MATLAB 编程/向量和矩阵/特殊矩阵

来自维基教科书,开放书籍,为开放世界而生

特殊矩阵

[编辑 | 编辑源代码]

全1矩阵

[编辑 | 编辑源代码]

我们可以使用函数ones创建矩阵,其中m表示行数,n表示列数。

>> ones(3,3)

ans =
     1     1     1
     1     1     1
     1     1     1

全0矩阵

[编辑 | 编辑源代码]

我们可以使用函数zeros创建矩阵,其中m表示行数,n表示列数。

>> zeros(3,3)

ans =
     0     0     0
     0     0     0
     0     0     0

单位矩阵

[编辑 | 编辑源代码]

一个单位矩阵是一个方阵,其对角线上的元素为1,其他元素为0。单位矩阵用于以下目的
(a) 验证两个给定矩阵是否互为逆矩阵。
以下示例中的A和B互为逆矩阵。

  >> A=[3,-2;-1,1]
  A =
     3    -2
    -1     1

  >> B=[1,2;1,3]
  B =
     1     2
     1     3

  >> A*B
  ans =
     1     0
     0     1

(b) 查找矩阵的逆矩阵
注意1:并非所有逆矩阵都可以使用单位矩阵。
注意2:命令"eye(n)"可用于快速创建单位矩阵,n是矩阵的大小。

>> A=[3,2;4,3]
A =
     3     2
     4     3

>> eye(2)
ans =
     1     0
     0     1

>> eye(2)/A
ans =
     3    -2
    -4     3


(c) 查找特征值和特征向量。
特征值定义为与向量空间的给定线性变换相关的标量,具有以下性质:存在一些非零向量,当乘以该标量时等于让变换作用于该向量时得到的向量。

假设我们有一个矩阵A如下


要查找lambda,我们需要知道使用以下公式查找特征值的方程式

但MATLAB提供了一种简单的方法,可以使用命令"eig"查找特征值。

>> A=[1,4;3,2]
A =
     1     4
     3     2

>> lambda = eig(A)
lambda =
    -2
     5

幻方矩阵

[编辑 | 编辑源代码]

幻方是指每列元素的总和以及每行元素的总和都相同,并且没有重复数字的方阵。我们可以使用命令M=magic(n)创建幻方。为了创建有效的幻方,阶数n必须是一个大于或等于3的标量。

有关更多信息,请参阅有关此主题的维基教科书:谜题/洛书方阵

例如,我们可以创建一个5×5的幻方矩阵。

  >> % creating 5X5 matrix magic square
  >> c = magic(5)
  c =
    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9
华夏公益教科书