您的位置:首页 > 编程语言 > MATLAB

MATLAB函数var、std浅析

2016-04-29 13:48 531 查看
在衡量一组数据的离散程度的时候通常计算这组数据的方差(Variance)或者标准差(Standard Deviation)

当分析数据为总体(Population)和样本(Sample)时方差和标准差的计算方式又有不同,简单可以记忆为样本数据(Sample Data)求方差除以
n-1
,总体数据(The Population )求方差除以
n
,公式如下:

The Population:

Variance: σ2=∑(xi−μ)2N

Stand Deviation:σ=σ2−−√

A Sample

Variance:s2=∑(xi−μ)2N−1

Stand Deviation:s=s2−−√

下面给出MATLAB的
var()
std()
函数的运算结果

test=[4 5 6 3 5 7 2]; %随机给出一组数据
m=mean(test)
var1=sum((test(1,:)-m).^2)/length(test) %用总体数据公式定义的方法求方差
var2=sum((test(1,:)-m).^2)/(length(test)-1) %求样本数据的方差
var3=var(test) %用var函数计算

得到如下结果:
m =
4.571428571428571
var1 =
2.530612244897959
var2 =
2.952380952380953
var3 =
2.952380952380953


由结果知var()函数是以求样本方差的公式计算的,那么怎么求总体方差呢?通过查看帮助文档可以发现
var(data,1)
即后面加个参数1就可以求总体方差了,函数var()默认的参数是0,也就是求样本方差

var4=var(test,1)

结果如下:
var4 =
2.530612244897959


同理,对于std()求标准差的也是通过修改参数实现不同的算法

std1=std(test,0)  %默认参数就是0来的
std2=sqrt(var(test,0))

std3=std(test,1)  %选择参数为1
std4=sqrt(var(test,1))

结果如下:
std1 =
1.718249385968449
std2 =
1.718249385968449
std3 =
1.590789817951435
std4 =
1.590789817951435
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: