MATLAB:矩阵(基础知识)⼀、数组的创建和操作
1.矩阵的输⼊
>> A=[]
A =
[]
>> B=[6 5 3]
B =
6    5    3
>> C=B'
C =
6
5
3
2.调⽤矩阵
1    2    3    4    5
>> a1=A(1)%访问数组第⼀个元素
a1 =
1
>> a2=A(1:3)%访问数组第1、2、3个元素
a2 =
1    2    3
>> a3=A(3:end)%访问数组第3个到最后⼀个元素a3 =
3    4    5
>> a4=A(end:-1:1)%数组元素反序输出
a4 =
5    4    3    2    1
>> a5=A([1 5])%访问数组第1个及第5个元素
a5 =
1    5
3.⼦数组的赋值
>>
A=[1 2 3 4 5]
A(3)=5
A([1 4])=[1 1]
A =
1    2    3    4    5
A =
1    2    5    4    5
matlab数组赋值A =
1    2    5    1    5
⼆、MATLAB常⽤矩阵函数
1. 矩阵的构造与操作
zeros ⽣成元素全为0的矩阵
0    0    0
0    0    0
0    0    0
ones ⽣成元素全为1的矩阵
>> ones(2:2)
ans =
1    1
1    1
eye ⽣成单位矩阵
>> eye(2:2)
ans =
1    0
0    1
rand ⽣成随机矩阵
>> rand(3:3)
ans =
0.8147    0.9134    0.2785
0.9058    0.6324    0.5469
0.1270    0.0975    0.9575
randn ⽣成正态分布随机矩阵
sparse ⽣成稀疏矩阵
full 将稀疏矩阵化为普通矩阵
diag 对⾓矩阵
tril 矩阵的下三⾓部分
triu 矩阵的上三⾓部分
flipud 矩阵上下翻转
fliplr 矩阵左右翻转
2. 矩阵运算函数
norm 矩阵或向量范数
normest 稀疏矩阵(或⼤规模矩阵)的2-范数估计rank 矩阵的秩
det ⽅阵的⾏列式
trace ⽅阵的迹%特征值的和等于迹
null 求基础解系(矩阵的零空间)
orth 正交规范化
rref 矩阵的⾏最简形(初等⾏变换求解线性⽅程组)subspace 计算两个⼦空间的夹⾓
3. 与线性⽅程有关的矩阵运算函数
inv ⽅阵的逆
cond ⽅阵的条件数
condest  稀疏矩阵1-范数的条件数估计
chol 矩阵的Cholesky分解(矩阵的平⽅根分解)cholinc 稀疏矩阵的不完全Cholesky分解
linsolve 矩阵⽅程组的求解
lu 矩阵的LU分解
ilu 稀疏矩阵的不完全LU分解
luinc 稀疏矩阵的不完全LU分解
qr 矩阵的正交三⾓分解
pinv 矩阵的⼴义逆
4. 与特征值或奇异值有关的矩阵函数
eig ⽅阵的特征值与特征向量
svd 矩阵的奇异值分解
eigs 稀疏矩阵的⼀些(默认6个)最⼤特征值与特征向量svds 矩阵的⼀些(默认6个)最⼤奇异值与向量
hess ⽅阵的Hessenberg形式分解
schur ⽅阵的Schur分解
三、数组的常见运算
1.数组的算术运算
dot数组的点积
sum数组元素的乘积之和
>> A=[1 2 3];
>> B=[4 5 6];
>> C=dot(A,B)
C =
32
>> D=sum(A.*B)
D =
32
2.数组的关系运算
关系运算的运算法则如下:
当两个⽐较量是标量时,直接⽐较两个数的⼤⼩。若关系成⽴,则返回的结果为1,否则为0。
当两个⽐较量是维数相等的数组时,逐⼀⽐较两个数组相同位置的元素,并给出⽐较结果。最终的关系运算结果是⼀个与参与⽐较的数组维数相同的数组,其组成元素为0或1。
>>
A=[1 2 3 5 7]
B=[2 3 5 5 8]
A<6
A>B
F=A==B
A =
1    2    3    5    7
B =
2    3    5    5    8
ans =
1×5 logical 数组
1  1  1  1  0
ans =
1×5 logical 数组
0  0  0  0  0
F =
1×5 logical 数组
0  0  0  1  0
3.数组的逻辑运算