矩阵创建

手动完整输入

每一行的元素用逗号或者空格隔开,不同行用分号隔开,整个矩阵用中括号括起来。如:

1
2
A = [1 2 3; 4 5 6; 7 8 9]
A = [1,2,3; 4,5,6; 7,8,9]

使用函数创建

ones 全为1的矩阵

ones(n, m)将创建n×m的元素全为1的矩阵。

ones(n)将创建n×n的元素全为1的方阵。

zeros 全为0的矩阵

用法同ones。

eye 单位矩阵

eye(n)生成n阶单位矩阵(对角元素为1,其他为0的方阵)。

rand 均匀分布随机矩阵

用法同ones。

randn 正态分布随机矩阵

用法同ones。

magic 魔方矩阵

magic(n)生成n阶魔方矩阵。

生成的矩阵各行、列的和相等,元素为1~n^2。(这样的矩阵不唯一)

diag 对角矩阵

diag(A, k),A为一组数字(1×n矩阵),k为数字。

生成的矩阵对角元素为A中的数字,在对角线上方k个元素远处(若k等于0则在对角线上,k小于0则在对角线下方)。例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>> diag([1,2,3,4],0)

ans =

1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4

>> diag([1,2,3,4],1)

ans =

0 1 0 0 0
0 0 2 0 0
0 0 0 3 0
0 0 0 0 4
0 0 0 0 0

矩阵运算

一般运算

Matlab中矩阵的运算符号由一般的运算符号表示,数字(数组)运算有时要在运算符号前面加个点表示。

符号 功能
+ 加法
- 减法
* 乘法
/ 右除
\ 左除
^ 乘方
' 共轭转置
.' 非共轭转置

注:
A/B == A右除B == A*B的逆
B\A == B左除A == B的逆*A
A*B即矩阵乘法
A.*B为A与B对应位置的元素分别相乘

特定函数

函数 功能
det() 行列式
inv() 逆矩阵
rank() 求秩