栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ 计算vector标准差

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 计算vector标准差

头文件:

#include

std::accumulate 基本用法:

vector vi{1, 2, 3};
cout << accumulate(vi.begin(), vi.end(), 0);    // 6

accumulate带有三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。

计算均值和方差:

void calstdev(vector A, float &mean, float&stdev)
{
	float sum = std::accumulate(std::begin(A), std::end(A), 0.0);
	mean = sum / A.size(); //均值  

	float accum = 0.0;
	std::for_each(std::begin(A), std::end(A), [&](const float d) {
		accum += (d - mean)*(d - mean);
	});

	stdev = sqrt(accum / (A.size() - 1)); //方差
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/960830.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号