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三大系统)
在这里插入图片描述

  • 3
    点赞
  • 1
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页

打赏

落叶_小唱

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者