4.5 随机变量的数字特征
4.5.1 平均值、中值
命令利用mean求算术平均值
格式 mean(X) %X为向量,返回X中各元素的平均值 mean(A) %A为矩阵,返回A中各列元素的平均值构成的向量 mean(A,dim) %在给出的维数内的平均值
说明 X为向量时,算术平均值的数学含义是,即样本均值。 例4-30
>> A=[1 3 4 5;2 3 4 6;1 3 1 5] A = 1 3 4 5 2 3 4 6 1 3 1 5 >>mean(A) ans =
1.3333 3.0000 3.0000 5.3333 >>mean(A,1) ans =
1.3333 3.0000 3.0000 5.3333 命令忽略NaN计算算术平均值
格式nanmean(X) %X为向量,返回X中除NaN外元素的算术平均值。 nanmean(A) %A为矩阵,返回A中各列除NaN外元素的算术平均值向量。 例4-31
>> A=[1 2 3;nan 5 2;3 7 nan] A = 1 2 3 NaN 5 2 3 7 NaN >>nanmean(A) ans =
2.0000 4.6667 2.5000
命令利用median计算中值(中位数)
格式 median(X) %X为向量,返回X中各元素的中位数。 median(A) %A为矩阵,返回A中各列元素的中位数构成的向量。
median(A,dim) %求给出的维数内的中位数 例4-32
>> A=[1 3 4 5;2 3 4 6;1 3 1 5] A = 1 3 4 5 2 3 4 6 1 3 1 5 >>median(A) ans = 1 3 4 5
命令忽略NaN计算中位数
格式nanmedian(X) %X为向量,返回X中除NaN外元素的中位数。 nanmedian(A) %A为矩阵,返回A中各列除NaN外元素的中位数向量。 例4-33
>> A=[1 2 3;nan 5 2;3 7 nan] A = 1 2 3 NaN 5 2 3 7 NaN
>>nanmedian(A) ans =
2.0000 5.0000 2.5000
命令利用geomean计算几何平均数
格式 M=geomean(X) %X为向量,返回X中各元素的几何平均数。 M=geomean(A) %A为矩阵,返回A中各列元素的几何平均数构成的向量。 说明几何平均数的数学含义是,其中:样本数据非负,主要用于对数正态分布。 例4-34
>> B=[1 3 4 5] B = 1 3 4 5
>> M=geomean(B) M = 2.7832
>> A=[1 3 4 5;2 3 4 6;1 3 1 5] A = 1 3 4 5
2 3 4 6 1 3 1 5
>> M=geomean(A) M =
1.2599 3.0000 2.5198 5.3133 命令利用harmmean求调和平均值
格式 M=harmmean(X) %X为向量,返回X中各元素的调和平均值。 M=harmmean(A) %A为矩阵,返回A中各列元素的调和平均值构成的向量。 说明调和平均值的数学含义是,其中:样本数据非0,主要用于严重偏斜分布。 例4-35
>> B=[1 3 4 5] B = 1 3 4 5
>> M=harmmean(B) M = 2.2430
>> A=[1 3 4 5;2 3 4 6;1 3 1 5] A = 1 3 4 5 2 3 4 6 1 3 1 5
>> M=harmmean(A) M =
1.2000 3.0000 2.0000 5.2941
4.5.2 数据比较
命令排序
格式 Y=sort(X) %X为向量,返回X按由小到大排序后的向量。 Y=sort(A) %A为矩阵,返回A的各列按由小到大排序后的矩阵。
[Y,I]=sort(A) % Y为排序的结果,I中元素表示Y中对应元素在A中位置。 sort(A,dim) %在给定的维数dim内排序 说明若X为复数,则通过|X|排序。 例4-36
>> A=[1 2 3;4 5 2;3 7 0] A = 1 2 3
4 5 2 3 7 0 >>sort(A) ans = 1 2 0 3 5 2 4 7 3
>> [Y,I]=sort(A) Y = 1 2 0 3 5 2 4 7 3 I = 1 1 3 3 2 2 2 3 1
命令按行方式排序 函数sortrows
格式 Y=sortrows(A) %A为矩阵,返回矩阵Y,Y按A的第1列由小到大,以行方式排序后生成的矩阵。
Y=sortrows(A, col) %按指定列col由小到大进行排序
[Y,I]=sortrows(A, col) % Y为排序的结果,I表示Y中第col列元素在A中位置。 说明若X为复数,则通过|X|的大小排序。 例4-37
>> A=[1 2 3;4 5 2;3 7 0] A = 1 2 3 4 5 2 3 7 0
>>sortrows(A) ans = 1 2 3 3 7 0 4 5 2
>>sortrows(A,1) ans =
1 2 3 3 7 0 4 5 2
>>sortrows(A,3) ans = 3 7 0 4 5 2 1 2 3
>>sortrows(A,[3 2]) ans = 3 7 0 4 5 2 1 2 3
>> [Y,I]=sortrows(A,3) Y = 3 7 0 4 5 2 1 2 3 I = 3 2 1
命令求最大值与最小值之差 函数 range
格式 Y=range(X) %X为向量,返回X中的最大值与最小值之差。 Y=range(A) %A为矩阵,返回A中各列元素的最大值与最小值之差。 例4-38
>> A=[1 2 3;4 5 2;3 7 0] A = 1 2 3 4 5 2 3 7 0
>> Y=range(A) Y = 3 5 3