MATLAB常用函数的用法
# subplot 和 stem 函数
subplot: 在平铺位置创建坐标区;
stem: 绘制离散序列数据.
# ones 函数
>> 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
# unique 函数
uniqueA: 返回的是和 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 函数
lengthA
① 如果 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
# mean 函数
求平均值
①.meanx:求数组 x 每列的平均值,等同于 meanx,1
② meanx,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
# 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
# unifrnd 函数
unifrnd 可以创建随机的连续均匀分布的数组,调用格式 R = unifrnd (A,B,m,n)
- 若 A,B 为一个数,则可以通过 m,n 指定生成矩阵的大小
A=1;
B=2;
unifrnd(A,B,2,3)
ans =
1.4899 1.9787 1.5005
1.1679 1.7127 1.4711
- 若 A 为一个数,B 为数组,则无法指定生成矩阵大小,以 A 为下界 B 中的元素为上界生成随机数
A=1;
B=[0 2 4 6];
unifrnd(A,B)
ans =
NaN 1.0967 3.4544 5.0877
- 若 A,B 都为数组,则要求这两个数组的维数一致,生成随机数规则同上
A=[0 2 4 6;2 1 4 2];
B=[1 3 6 11;3 6 8 5];
unifrnd(A,B)
ans =
0.4324 2.0835 4.3468 10.1569
2.8253 1.6659 5.5638 4.4101
# poissrnd 函数
r = poissrnd(lambda)
r = poissrnd(lambda,sz1,…,szN)
r = poissrnd(lambda,[sz1,…,szN])
用于生成随机数,其分布服从参数为 的泊松分布
- 若只输入 为单个数
r_array = poissrnd(7)
r_array =
6
- 若后面输入的是矩阵或者是一串参数,前两个参数是单元矩阵的维数,后面的参数是高维次
r_array = poissrnd(7,2,2,3)
r_array(:,:,1) =
6 5
5 4
r_array(:,:,2) =
7 9
8 4
r_array(:,:,3) =
10 11
6 3
# polyarea
计算多边形面积
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 2bWant2b!
评论