首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++11 normal_distribution与MATLAB

C++11 normal_distribution与MATLAB
EN

Stack Overflow用户
提问于 2015-04-01 17:39:27
回答 1查看 762关注 0票数 1

我必须在C++环境下开发normpdf函数。但我有个问题..。

MATLAB中的normpdf(X,u,σ)与normal_distribution高斯(u,σ)相似;

X值在哪里?这意味着我想要高斯函数,而不是高斯随机函数。如何用高斯分布抽样输出值?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-01 17:57:00

你可以很容易地自己写

代码语言:javascript
复制
inline double squared(double x)
{
    return x*x;
}

double normpdf(double x, double u, double s) { 
    return (1.0/(s*sqrt(2.0*M_PI)))*exp(-0.5*squared(x-u)/squared(s));
}

更新

这个可能要快一点,少一个乘法。

代码语言:javascript
复制
const double ONE_OVER_SQRT_2PI = 0.39894228040143267793994605993438;

double normpdf(double x, double u, double s) { 
    return (ONE_OVER_SQRT_2PI/s)*exp(-0.5*squared((x-u)/s));
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29397296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档