mean,std,var

Posted qw-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mean,std,var相关的知识,希望对你有一定的参考价值。

1、 均值

数学定义: MATLAB中均值、方差、均方差的计算方法

Matlab函数:mean

x=[1 2 3];
mean(x)

ans =

 2

如果X是一个矩阵,则其均值是一个向量组。mean(X,1)为列向量的均值,mean(X,2)为行向量的均值。

x=[1 2 3;4 5 6];
mean(x,1)

ans =

2.5000    3.5000    4.5000

若要求整个矩阵的均值,则为mean(mean(X))。

mean(mean(x))

ans =

3.5000

也可使用mean2函数:

median(x)

mean2(x)

ans =

3.5000

median,求一组数据的中值,用法与mean相同。

x=[1 2 9];
mean(x)

ans =

 4

ans =

 2

2、 方差

数学定义:MATLAB中均值、方差、均方差的计算方法

均方差:

Matlab 函数:var

要注意的是var函数所采用公式中,分母不是 ,而是 。这是因为var函数实际上求的并不是方差,而是误差理论

中“有限次测量数据的标准偏差的估计值”。

X=[1,2,3,4];
var(X)

ans =

1.6667

sum((X(1,:)-mean(X)).^2)/length(X)

ans =

1.2500

sum((X(1,:)-mean(X)).^2)/(length(X)-1)

ans =

1.6667

var没有求矩阵的方差功能,可使用std先求均方差,再平方得到方差。

std,均方差,std(X,0,1)求列向量方差,std(X,0,2)求行向量方差。

X=[1 2;3 4];
std(X,0,1)
std(X,0,2)

ans =

1.4142    1.4142

ans =

0.7071
0.7071

若要求整个矩阵所有元素的均方差,则要使用std2函数:

std2(X)

ans =

1.2910

4、协方差矩阵

A=[61.45,55.9,61.95,59,58.14,53.61,55.48,54.21,61.52,54.92];
B=[40.36,39.8,49.2,48,51.5,49.39,51.13,58.06,61,62.35];
C=[8.61,8.91,10.43,13.32,13.48,15.75,18.14,19.95,21.95,23.53];
D=[14.31,14.72,15.28,15.91,14.67,15,15.86,15.16,13.72,12.94];
E=[7.67,7.75,8.15,9.24,10.68,10.58,10.31,10,8.91,8.51];
q=[A',B',C',D',E'];
w=cov(q)

w =

10.3710 -4.7446 -6.6023 -0.1873 -1.8881
-4.7446 59.1503 38.7606 -3.0743 3.0982
-6.6023 38.7606 28.6966 -2.0199 2.4166
-0.1873 -3.0743 -2.0199 0.8474 0.3936
-1.8881 3.0982 2.4166 0.3936 1.3412

以上是关于mean,std,var的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB方差分析

Python求均值,方差,标准差

为啥我们将图像归一化为mean=0.5,std=0.5?

matlab如何求方差

如何在没有 Pandas STD 或 Mean 函数的情况下计算滚动 STD?

为啥使用 k-means(来自 Scipy)聚类到两个片段的图像会显示两个以上不同的像素值?