如何用C ++计算probit

时间:2013-05-01 04:51:53

标签: c++ statistics sas

我正在将一些SAS code转换为C ++,但目前仍在考虑如何计算probit函数。

我相信我已经找到了probit公式(http://en.wikipedia.org/wiki/Probit),但我的统计知识有点生疏。所以基本上我需要有人将其转换为C ++,或者告诉我在另一个名称下是否有相同的方法。

1 个答案:

答案 0 :(得分:4)

使用提升数学库和你在维基百科文章中找到的probit的定义我想出了以下内容。这里没有保修: - )

#include <boost/math/special_functions/erf.hpp>

namespace bm = boost::math;

template<typename T>
T probit(T p)
{
    T root_2 = sqrt(2);

    return root_2 * bm::erf_inv(2*p-1);
}

int main()
{
    double val = 0.9;
    double res = probit(val);
}