Matlab中一些函数的用法
subplot和stem函数
subplot函数:在平铺位置创建坐标区;
stem函数:绘制离散序列数据。
ones函数
产生全1矩阵。
>> ones(3)
ans =
1 1 1
1 1 1
1 1 1
>> ones(1,4)
ans =
1 1 1 1
size函数
①. 输出行数和列数:
>> x=[1,2,3;4,5,6;7,8,9]
x =
1 2 3
4 5 6
7 8 9
>> size(x)
ans =
3 3
②. 指定输入行数和列数:
>> x=[1,2,3;4,5,6;7,8,9;10,0,0]
x =
1 2 3
4 5 6
7 8 9
10 0 0
>> size(x,1)
ans =
4
>> size(x,2)
ans =
3
如果数据是三维的话则可以为size(x,3)
unique函数
unique(A):返回的是和A中一样的值,但是没有重复元素;产生的结果向量按升序排列。
①. A是向量
>> x=[1,2,6,3,7,1,1]
x =
1 2 6 3 7 1 1
>> unique(x)
ans =
1 2 3 6 7
②. A是数组
>> x=[11,12,41,14;21,31,45,64;75,43,35,76;11,12,41,14]
x =
11 12 41 14
21 31 45 64
75 43 35 76
11 12 41 14
>> unique(x)
ans =
11
12
14
21
31
35
41
43
45
64
75
76
length函数
length(A)
①. 如果A是向量,则返回向量中数据的个数:
>> x=[1,2,3,1,4,5,6,6,4,7,8,2]
x =
1 2 3 1 4 5 6 6 4 7 8 2
>> length(x)
ans =
12
②. 如果A是数组,则返回行数和列数最大的那个值:
>> x=[1,2,3,4;1,2,3,4;1,2,3,4]
x =
1 2 3 4
1 2 3 4
1 2 3 4
>> length(x)
ans =
4
cell函数
定义一个数组。
>> cell(3,2)
ans =
3×2 cell 数组
{0×0 double} {0×0 double}
{0×0 double} {0×0 double}
{0×0 double} {0×0 double}
zeros函数
创建零矩阵。
>> zeros(3)
ans =
0 0 0
0 0 0
0 0 0
>> zeros(3,3,3)
ans(:,:,1) =
0 0 0
0 0 0
0 0 0
ans(:,:,2) =
0 0 0
0 0 0
0 0 0
ans(:,:,3) =
0 0 0
0 0 0
0 0 0
trace函数
求矩阵的迹
>> x=[1,2,3;1,2,3;1,2,3]
x =
1 2 3
1 2 3
1 2 3
>> trace(x)
ans =
6
./ 符号
x = A./B:用A的每个元素除以B的对应元素
>> x=[1,2,3;1,2,3;1,2,3]
x =
1 2 3
1 2 3
1 2 3
>> y=10*ones(3,3)
y =
10 10 10
10 10 10
10 10 10
>> y./x
ans =
10.0000 5.0000 3.3333
10.0000 5.0000 3.3333
10.0000 5.0000 3.3333
mean函数
求平均值
①. mean(x):求数组x每列的平均值,等同于mean(x,1)
②. mean(x,2):求数组x每行的平均值
>> x=[1,2,3,4;1,2,3,4;1,2,3,4;1,2,3,4]
x =
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
>> mean(x)
ans =
1 2 3 4
>> mean(x,1)
ans =
1 2 3 4
>> mean(x,2)
ans =
2.5000
2.5000
2.5000
2.5000
eig函数
计算矩阵的特征值和特征向量
>> [a.b]=eig(x)
a =
包含以下字段的 struct:
b: [3×1 double]
>> a.b
ans =
356.0000
0.0000
-0.0000
>> E=eig(x)
E =
356.0000
0.0000
-0.0000
diag函数
把向量的元素作为矩阵的对角线元素。
>> a=[1,2,3]
a =
1 2 3
>> x=diag(a)
x =
1 0 0
0 2 0
0 0 3
sort函数
对数组和向量进行排序(默认升序)
>> A=[3,33,333;1,11,111;2,22,222]
A =
3 33 333
1 11 111
2 22 222
>> sort(A)
ans =
1 11 111
2 22 222
3 33 333
>> sort(A,'descend')
ans =
3 33 333
2 22 222
1 11 111
var函数
求方差
①. $V = var(A)$ 返回A中第一个数组维度的元素的方差。
②. $V = var(A,w)$ 指定权重方案,若w = 0(默认),则V按观测值数量-1实现归一化;若w = 1,则V按观测值数量值实现归一化。
③. $V = var(A,w,dim)$返回沿维度dim的方差。
>> A=[1,2,1;2,3,2;3,4,3]
A =
1 2 1
2 3 2
3 4 3
>> var(A)
ans =
1 1 1
>> var(A,1)
ans =
0.6667 0.6667 0.6667
>> var(A,1,2)
ans =
0.2222
0.2222
0.2222
log函数
求对数。
>> A=[1,2,1;2,3,2;3,4,3]
A =
1 2 1
2 3 2
3 4 3
>> log(A)
ans =
0 0.6931 0
0.6931 1.0986 0.6931
1.0986 1.3863 1.0986
clc和clear
clc是清屏,clear是清除变量。
close all
close all:关闭所有的Figure窗口
close:关闭当前的Figure窗口
ismember函数
判断某个元素是不是在集合数组中。
>> x=[1,3,2,5,7]
x =
1 3 2 5 7
>> ismember(3,x)
ans =
logical
1
>> ismember(4,x)
ans =
logical
0