MATLAB函数var、std浅析

在衡量一组数据的离散程度的时候通常计算这组数据的方差(Variance)或者标准差(Standard Deviation)

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

The Population:

Variance: σ 2 = ∑ ( x i − μ ) 2 N \sigma^2=\frac{\sum(x_i-\mu)^2}{N} σ2=N(xiμ)2
Stand Deviation: σ = σ 2 \sigma=\sqrt{\sigma^2} σ=σ2

A Sample

Variance: s 2 = ∑ ( x i − μ ) 2 N − 1 s^2=\frac{\sum(x_i-\mu)^2}{N-1} s2=N1(xiμ)2
Stand Deviation: s = s 2 s=\sqrt{s^2} 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

如果想用matlab作为个人学习使用,可以微信扫描下面公众号二维码,关注“向芽塔”,后台回复
“MATLAB”,就可以获取丰富的资源啦(支持WIN,MAC,Linux三大系统)
在这里插入图片描述

  • 8
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值