MATLAB中均值、方差、均方差的计算方法


  1、 均值

数学定义: (自己搜一下)

 

Matlab函数:mean

>>X=[1,2,3]

>>mean(X)=2

 

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

>>X=[1 2 3

     4 5 6]

>>mean(X,1)=[2.5, 3.5, 4.5]

>>mean(X,2)=[2

             5]

 

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

>>mean(mean(X))=3.5

也可使用mean2函数:

>>mean2(X)=3.5

 

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

>>X=[1,2,9]

>>mean(X)=4

>>median(X)=2

 

2、 方差


数学定义:(自己搜一下)

 

方差是各个数据与平均数之差的平方的和的平均数,即 ,其中,x_表示样本的平均数,n表示样本的数量,x n 表示个体,而s^2就表示方差。
而当用  作为样本X的方差的估计时,发现其数学期望并不是X的方差,而是X方差的(n-1)/n 倍,  的数学期望才是X的方差,用它作为X的方差的估计具有“无偏性”,所以我们总是用  来估计X的方差,并且把它叫做“样本方差”。(引自百度百科)

均方差:

Matlab 函数:var

要注意的是var函数所采用公式中,分母不是 ,而是 。这是因为var函数实际上求的并不是方差,而是误差理论中“有限次测量数据的标准偏差的估计值”。

>>X=[1,2,3,4]

>>var(X)=1.6667

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

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

 

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

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

 

>>X=[1 2

     3 4]

>>std(X,0,1)=1.4142  1.4142

>>std(X,0,2)=0.7071

            0.7071

 

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

>>std2(X)=1.2910

你可能感兴趣的:(MATLAB中均值、方差、均方差的计算方法)