C++计算方差和标准差,适用于所有容器和数组

一、方差和标准差的定义

  方差是各样本值与均值之差的平方值的平均数。标准差是方差的算术平方根。
  标准差/方差反映一个数据集的离散程度。标准差/方差越大,表示数据的波动越大;标准差/方差越小,表示数据的波动越小。

二、关键代码

// 计算均值
auto size = std::distance(first, last); // 两个迭代器/指针之间的距离,即样本数量
double avg = std::accumulate(first, last, 0.0) / size;

// 计算方差
double variance(0);
std::for_each(first, last, [avg, &variance](const ValueType &num) {
    variance += (num - avg) * (num - avg); });
variance /= size;

// 计算标准差
auto standardDeviation = std::sqrt(variance);

三、代码示例

1)utils.h

/*
 * Copyright (c) 2023 All rights reserved
 * Filename:    utils.h
 * Brief:       工具函数
 * Depend:      C++14
 *
 * Version:     V1.0.0
 * Date:        2023/03/07
 * Author:      LucianY(https://blog.youkuaiyun.com/LucainY)
 * Note:        初次版本。
 * 
 */
 
#include <cmath>

#inc
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值