在Matlab使用过程中,经常用到矩阵操作的相关命令,在这里简单总结记录一下,以供以后查阅。
矩阵定义
矩阵以“[ ]”为界,而不是“( )”、“{ }”等。同一行以逗号或空格分隔开,不同行用封号分开。例如下面两种都是正确定义方式:
A=[1,2,3;4,5,6;7,8,9]
A=[1 2 3;4 5 6;7 8 9]
矩阵操作
求行列式:det(A)
求秩:rank(A)
求逆:A^-1
or inv(A)
求转置:A'
求特征值:eig(A)
求主对角线元素和:trace(A)
A=[1,2,3;4,5,6;7,8,9]
det(A)
ans = 666.1338e-018
rank(A)
ans = 2.0000e+000
inv(A)
警告: 矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND = 1.541976e-18。
ans =
-4.5036e+015 9.0072e+015 -4.5036e+015
9.0072e+015 -18.0144e+015 9.0072e+015
-4.5036e+015 9.0072e+015 -4.5036e+015
A'
ans =
1.0000e+000 4.0000e+000 7.0000e+000
2.0000e+000 5.0000e+000 8.0000e+000
3.0000e+000 6.0000e+000 9.0000e+000
eig(A)
ans =
16.1168e+000
-1.1168e+000
-1.3037e-015
trace(A)
ans = 15.0000e+000
提取元素
提取某一列:A(:,i)
(提取A中第i列全部元素)
提取某一行:A(i,:)
(提取A中第i行全部元素)
A(:,1)
ans =
1.0000e+000
4.0000e+000
7.0000e+000
A(1,:)
ans =
1.0000e+000 2.0000e+000 3.0000e+000
矩阵生成
生成矩阵元素全为1的方阵:ones(dimension)
生成矩阵元素全为0的方阵:zeros(dimension)
生成单位阵:eye(dimension)
生成对角阵:diag(V,K)
(V为对角线上的元素,K为偏离主对角线的列数。K=0表示主对角线,K>0表示主对角线之上,
K<0表示主对角线之下。K可省略。)
演示如下:
ones(3)
ans =
1.0000e+000 1.0000e+000 1.0000e+000
1.0000e+000 1.0000e+000 1.0000e+000
1.0000e+000 1.0000e+000 1.0000e+000
zeros(3)
ans =
0.0000e+000 0.0000e+000 0.0000e+000
0.0000e+000 0.0000e+000 0.0000e+000
0.0000e+000 0.0000e+000 0.0000e+000
eye(3)
ans =
1.0000e+000 0.0000e+000 0.0000e+000
0.0000e+000 1.0000e+000 0.0000e+000
0.0000e+000 0.0000e+000 1.0000e+000
A=[1,2,3]
diag(A)
ans =
1.0000e+000 0.0000e+000 0.0000e+000
0.0000e+000 2.0000e+000 0.0000e+000
0.0000e+000 0.0000e+000 3.0000e+000
diag(A,1)
ans =
0.0000e+000 1.0000e+000 0.0000e+000 0.0000e+000
0.0000e+000 0.0000e+000 2.0000e+000 0.0000e+000
0.0000e+000 0.0000e+000 0.0000e+000 3.0000e+000
0.0000e+000 0.0000e+000 0.0000e+000 0.0000e+000
清除命令
clc
:清空命令窗口中的内容
clear
:清空工作空间内容(如变量),后面加上变量名则清除指定变量
输出控制
format long
:长型,显示15位双精度浮点数
format short
:短型,显示5位小数(默认)
format rat
:分数(有理数近似)
format short eng
:至少5位+3位指数
format long eng
:至少15位+3位指数
输出结果如下所示:
A=pi
//默认为short
A = 3.1416
//输出15位小数
format long
A = 3.141592653589793
//输出分数形式
format rat
A = 355/113
//高精度指数型
format long eng
A = 3.14159265358979e+000
//常规指数型
format short eng
A = 3.1416e+000
本文作者原创,未经许可不得转载,谢谢配合