package math;
public class NormalDistribution {
public static double calc(double u){
double y=Math.abs(u);
double y2 = y*y;
double z=Math.exp(-0.5 * y2) * 0.398942280401432678;
double p=0;
int k=28;
double s = -1;
double fj=k;
if(y>3){
//当y>3时
for(int i=1;i<=k;i++){
p = fj / (y+p);
fj=fj - 1.0;
}
p = z / (y+p);
}else{
//当y<3时
for(int i=1;i<=k;i++){
p = fj * y2 / (2.0*fj +1.0 + s * p);
s = -s;
fj = fj - 1.0;
}
p = 0.5 - z * y / ( 1 - p );
}
if(u>0) p = 1.0 - p;
return p;
}
public static void main(String[] args) {
for(double d=0;d<5.0;d+=0.1){
System.out.println(d+","+calc(d));
}
}
}
分享到:
相关推荐
标准正态分布是一个均值为0、标准差为1的正态分布,通常用希腊字母φ(phi)表示其累积分布函数(CDF),而用Z表示服从该分布的随机变量。 标准正态分布的特点是它的形状是对称的,关于y轴对称,且在整个实数域上其...
这段代码实现了极坐标法,并提供了`nextGaussian()`方法用于生成标准正态分布的随机数。此外,还提供了一个简单的`main`方法来演示如何使用这个类。 #### 四、总结 本文详细介绍了如何在Java中实现正态分布,并...
标准正态分布的概率计算涉及到分布函数(cumulative distribution function, CDF),它表示的是X小于或等于某个值x的概率。对于标准正态分布,分布函数可以表示为: \[ \Phi(x) = \frac{1}{\sqrt{2\pi}} \int_{-\...
总之,这个压缩包中的内容涉及到一个用Java实现的标准正态分布函数求值算法,该算法设计精良,计算误差极小,可以广泛应用于各种需要处理正态分布数据的场景。通过对"Cal.java"代码的深入理解和"输出结果.txt"的分析...
给定标准正态分布,我们可以直接查找标准正态分布表或使用软件库(如Java的Apache Commons Math库)来计算F值。在例子中,P(-0.8) = F(2.0) - F(-0.8) = 0.97725 - 0.2119 = 0.7654。同样地,P(x>40) = 1 - F(40) = ...
正态分布的密度函数可以表示为: \[ f(x) = \frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(x-\mu)^2}{2\sigma^2}} \] 在这个公式中,x是数据点,μ是均值,σ是标准差。我们可以通过这个公式计算每个x值对应的y值,从而...
例如,如果X服从N(μ, σ^2),那么Z = (X - μ) / σ将服从标准正态分布,我们可以通过查标准正态分布表来解决涉及概率的问题。 正态分布在统计学中有许多应用,如假设检验、置信区间的计算和回归分析等。在工程和...
这个问题是一个统计学作业的问题,其中要求我们证明标准正态分布的有效性,即从负无穷到正无穷的积分等同于一个,并且推导出正常的概率密度函数(Probability Density Function,PDF)。 首先,我们需要了解中心...
3. **累积分布函数(CDF)**:累积分布函数 \( F(x) \) 描述的是从负无穷到 \( x \) 的累计概率,对于标准正态分布,可以表示为: \[ \Phi(u) = \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{u} e^{-t^2/2} dt \] 对于...
"正态分布概率公式(部分)" 正态分布概率公式是统计学中非常重要的一部分,它是研究随机事件的概率分布的一种方式。本文将详细介绍正态分布概率公式的概念、特点、计算方法和应用场景。 正态分布概率公式的概念 ...
例如,可以通过变换将任何正态分布转换为标准正态分布(μ=0, σ=1),从而使用标准正态分布表来求解概率。 中心极限定理是理解正态分布广泛存在的重要理论。它表明,当大量独立同分布的随机变量相加时(每个变量对...
正态分布的概率计算通常涉及计算概率密度函数在特定区间内的积分,这称为累积分布函数(CDF),表达式为: \[ F(x) = \int_{-\infty}^{x} f(t) dt \] 对于区间 (a, b) 内的概率,可以计算为: \[ P(a ) = F(b) - F...
代码可能涉及的数据处理函数有`cumsum`(累积求和)、`fitdist`(分布拟合)、`makedist`(创建概率分布对象)、`cdf`(累积分布函数)和`norminv`(标准正态分布逆函数)等。具体实现可能会根据数据的特性和需求...
- **分布**:提供了多种概率分布,如均匀分布、正态分布、泊松分布等,可用于生成特定分布的随机数。 3. **概率统计**: - **统计量**:可以计算样本均值、中位数、标准差、方差等统计量。 - **假设检验**:包括...
Java标准库并未直接提供正态分布的生成方法,但可以通过Box-Muller变换或者Ziggurat算法实现。Box-Muller变换是将两个独立的均匀分布随机数转换为正态分布的常见方法。 ```java public double normal(double mean, ...
Box-Muller变换通过两个独立的均匀分布随机数生成一对标准正态分布随机数,而Ziggurat算法则提供了一种更快的近似方法,特别适合在计算资源有限的情况下生成大量的正态分布随机数。 在编程实践中,每种编程语言都有...
1、权证各项指标的算法 2、包括引伸波幅/标准正态分布函数近似计算公式
4. **标准化转换**:将拟合后的分布转换为标准正态分布,这一步通常通过查表或数值积分实现。MATLAB的`cdf2pdf`函数可以帮助完成这一转换。 5. **计算SPI值**:根据标准正态分布的Z-score,计算每个时间点的SPI值。...
为了实现这一点,我们定义了一个`distribution`方法,它计算出正态分布函数在不同x值下的y值。在这个实验中,我们假设标准差为1,均值为0,绘制的曲线覆盖了从-4到5的x轴范围,y轴则表示概率密度。为了更好地理解...
其次,`randn`函数用于生成标准正态分布(均值为0,方差为1)的随机数。例如,`randn(1, 10)`将返回一个1行10列的标准正态分布随机数。对于其他均值和方差的正态分布,可以通过`mu + sigma*randn`来实现,其中`mu`是...