C/C+中的累积正态分布函数+;带参数 我想在C++中实现Matlab的NoalCDF函数的等价性,我已经找到了这个有用的帖子:指向这个实现。但是我想用可选的mu和sigma参数,就像在matlab中一样

C/C+中的累积正态分布函数+;带参数 我想在C++中实现Matlab的NoalCDF函数的等价性,我已经找到了这个有用的帖子:指向这个实现。但是我想用可选的mu和sigma参数,就像在matlab中一样,c++,matlab,cdf,C++,Matlab,Cdf,当我更改此项时,是否可以: x = fabs(x)/sqrt(2.0); 致: 或者我应该做些别的事?小心-你想保存x-mu的符号,而不仅仅是x: int sign = 1; if (x < mu) sign = -1; x = fabs(x-mu)/sqrt(2.0*sigma*sigma); int符号=1; if(x

当我更改此项时,是否可以:

x = fabs(x)/sqrt(2.0);
致:


或者我应该做些别的事?

小心-你想保存
x-mu
的符号,而不仅仅是
x

int sign = 1;
if (x < mu)
    sign = -1;
x = fabs(x-mu)/sqrt(2.0*sigma*sigma);
int符号=1;
if(x
否则,您的缩放是正确的。

您可以添加

x = (x-mu)/fabs(sigma);
作为函数的第一行,在不更改符号检查的情况下获得正确的结果。理想情况下,您应该为
sigma抛出一个异常
x = (x-mu)/fabs(sigma);