天天看点

【重学Matlab】Note4 矩阵相关

文章目录

    • 从.m文件导入矩阵
    • 从.txt文件导入矩阵[文件名为data.txt]
    • 创建矩阵
    • 更改矩阵
    • 对角阵、三角阵
    • 常用函数
    • 矩阵分解

从.m文件导入矩阵

% data.m 文件
%----------------------
x = [1 2 3;4 5 6;7 8 9]
%-----------------------
           

运行以导入data.m文件中的x变量。

>>>data
x =
	1 2 3
	4 5 6
	7 8 9
           

从.txt文件导入矩阵[文件名为data.txt]

1 2 3
4 5 6
7 8 9
           

运行以导入data.txt文件中的x变量。

>>>load data.txt
data =
	1 2 3
	4 5 6
	7 8 9
           

创建矩阵

函数 说明
单位阵 eye(n) nxn单位阵
eye(m,n) mxn单位阵
eye(size(A)) 与A维数相同的单位阵
全一阵 ones(n) nxn全一阵
ones(m,n) mxn全一阵
ones(size(A)) 大小同A全一阵
全零阵 zeros(n) nxn全零阵
zeros(m,n) mxn全零阵
zeros(size(A)) 大小同A全零阵
随机阵 rand(n) [0-1]区间内nxn均匀分布随机矩阵
rand(m,n) [0-1]区间内mxn均匀分布随机矩阵
rand(size(A)) [0-1]区间内大小同A均匀分布随机矩阵
unifrnd(a,b,n) [a-b]区间内nxn随机矩阵
unifrnd(a,b,m,n) [a-b]区间内mxn随机矩阵
unifrnd(a,b,size(A)) [a-b]区间内大小同A随机矩阵
特殊阵 compan(P) 常见系数向量是P的多项式伴随矩阵
diag(v) 创建以向量v中元素为对角的对角阵
hilb(n) nxn的Hilbert矩阵
magic(n) nxn魔方矩阵
sparse(A) 将矩阵A转化为稀疏矩阵形式

更改矩阵

矩阵特殊操作 说明
修改 D=[A;B C] A为原矩阵、B和C为扩充矩阵。D为扩充后矩阵
A(m,:)=[] 将A第m行删除
A(:,n)=[] 将A第n列删除
A(m,n)=a 将A的m行n列元素改为a
A(m,:)=[a,b,c,..] 更改A第m行
reshape() 更改矩阵维度
变向 rot90(A) 逆时针旋转90度
rot90(A,k) 逆时针旋转k*90度
fliplr(X) 左右翻转
flipup(X,dim) 上下翻转
flipdim(X,dim) dim=1对行翻转。dim=2对列翻转

对角阵、三角阵

对角阵和三角阵 说明
对角阵 diag(X,k) 抽取矩阵X第k条对角线上的元素
diag(X) 抽取主对角线
diag(v,k) 使得v为所得矩阵第k条对角线上的元素向量
diag(v) 使得v为所得矩阵主对角线上的元素向量
对角阵 tril(X,k) 提取矩阵X第k条对角线以及下面的部分
tril(X) 抽取矩阵下三角
triu(X,k) 提取矩阵X第k条对角线以及上面的部分
triu(X) 抽取矩阵上三角

常用函数

常用函数
函数名 说明
cond 矩阵的条件数值
condest 1-范数矩阵的条件数值
det 矩阵的行列式值
eig 矩阵的特征值
inv 矩阵的逆
norm 矩阵的范数值
normest 矩阵的2-范数值
rank 矩阵的秩
orth 矩阵的正交化运算
rcond 矩阵的逆条件数值
trace 矩阵的迹
triu 上三角变换
tril 下三角变换
diag 对角变换
expm 矩阵的指数运算
logm 矩阵的对数运算
sqrtm 矩阵的开放运算
cdf2rdf 复数对角矩阵转换成实数块对角矩阵
rref 转换成逐行递减的阶梯矩阵
rsf2csf 实数块对角矩阵转换成复数对角矩阵
funm 一般的矩阵函数

矩阵分解

矩阵分解
LU [L,U]=lu(A) 对A进行LU分解。L为下三角U为上三角
[L,U,P]=lu(A) 对A进行LU分解。P为转换矩阵LU=PA
LDM、LDL [L,D,M]=ldm(A) None
[L,D]=ldlt(A) None
QR [Q,R]=qr(A) None
[Q,R,E]=qr(A) None
[Q,R]=qr(A,0) None
[Q,R,E]=qr(A,0) None

继续阅读