与其讨好别人,不如提升自己
一. 常用向量命令
1. length 求向量的长度(维数)
例如:X=[1,2,3,4];
n=length(X);
>> n
n =
3
2. 向量的转置
X=[1,2,3,4];
XT=X'
XT =
1
2
3
4
3. max操作
例如:X1=[1,2,3,4;2,3,4,5'] ; X2=[8,2,7,4;2,9,4,5];
(1)max单独使用:求出每一列的最大值并构成一个行矩阵
max(X)为矩阵X各列的最大值组成的行向量
A=max(X);
>>A
A =
2 3 4 5
(2)结合对应位置使用
[m1,p1]=max(X2);m1为每一列的最大值,并构成一个列向量,p1为m1对应的位置
结果:
m1 =
8 9 7 5
p1 =
1 2 1 2
4. 求和操作
求和操作就我现在学习的知识而言对matlab是非常重要的
sum(X) 可以对向量的列求和
这个命令对于矩阵也同样适用
sum(X,1)也表示对矩阵的各列分别求和并构成一个行向量
sum(X,2)则表示对矩阵的各行分别求和并构成一个列向量
例如 X=[1,2,3,4;2,3,4,5];
Y=sum(X,1);
Y =
3 5 7 9
W=sum(X,2);
W =
10
14
5.mean 求向量所有元素的平均值
6.求向量或者矩阵的范数 norm命令
y=norm(X,p);p值需要使用者自己指定,若未指定,则默认p=2
7.求绝对值
y=abs(x);求向量中每一个元素的绝对值并构成向量
8.求标准差
y=std(x);返回一个双精度的数为向量x的标准差
9.对向量排序
y=sort(x);对向量所有元素从小到大排序,y为排序后的向量
[y,p]=sort(x);对向量所有元素从小到大排序,y为排序后的向量, p为对应位置组成的向量
若要对x进行从大到小排序,对应命令为:y=sort(x,'descend');
二. 矩阵常用命令
1.行列式的值
例如 X=[1,2,3,4;2,3,4,5;3,4,5,6;1,2,3,9];常规手算方法很困难,用命令就很简单
d=det(X);
d =
1.1102e-15
2.矩阵的大小
矩阵的大小一般是求矩阵是几行几列的
X=[1,2,3,4;2,3,4,5;3,4,5,6]
[m,n]=size(X)
m =
3
n =
4
也可以只求几行或者几列供计算使用,方法与sum命令相同,都是用1和2控制
M=size(X,1);
M =
3
N=size(X,2);
N =
4
3.矩阵的秩
r=rank(X);
4.矩阵的迹,即矩阵(方针)的主对角线元素之和
T=trace(X);
5.对角方阵(即主对角线元素构成的列向量)
d=diag(X);
6.reshape '重排命令‘’
Y=reshape(X,m,n)按列将矩阵X按列排列成m*n的矩阵,同时m*n必须等于X的矩阵元素数
例如
X=[1,2,3,4;2,3,4,5;3,4,5,6 ];
N=reshape(X,2,6);
N =
1 3 3 3 5 5
2 2 4 4 4 6
7.求矩阵的逆矩阵
XT=inv(X)等价于X^(-1)
A=magic(3);magic(n)生成n阶魔方阵,魔方阵的特点是每行每列包括对角线的和都相等
A =
8 1 6
3 5 7
4 9 2
y=inv(X);
y =
0.1472 -0.1444 0.0639
-0.0611 0.0222 0.1056
-0.0194 0.1889 -0.1028
y=X^(-1);
y =
0.1472 -0.1444 0.0639
-0.0611 0.0222 0.1056
-0.0194 0.1889 -0.1028
8.矩阵的特征值
A=magic(3);
z=eig(X);
Z =
15.0000
4.8990
-4.8990
这个求出来是X的三个特征值
也可以用eig求特征向量,S为对角方阵,对角线元素为X的特征值,U为特征向量构成的矩阵,其第i列是第i个特征值对应特征向量
[U,S]=eig(X)
U =
-0.5774 -0.8131 -0.3416
-0.5774 0.4714 -0.4714
-0.5774 0.3416 0.8131
S =
15.0000 0 0
0 4.8990 0
0 0 -4.8990
9.rempat命令
我在网上找资源的时候看一个介绍的非常清晰的博主,在这将这篇博客推荐给大家
今天就总结到这里,后面在学习matlab 的过程中会持续更新