Java erf函数、erfc函数代码实现

高斯误差函数是一个非基本函数,定义为




代码实现根据的公式


public class NumeralCaculate {
    public static void main(String[] args) {
        System.out.println(erfc(0.5));
    }
    //erfc函数
    public static double erfc(double x)
    {
        return 1-erf(x);
    }
    //erf函数
    public static double erf(double x)
    {
        double result = 0;
        int index = 0;
        do
        {
            index++;
        } while (x / Math.pow(10, index) > 1e-3);//设置计算精度
        int maxIndex =(int) Math.pow(10, index);
        double deltaX = x / maxIndex;
        for (int i = 0; i <=maxIndex; i++)
        {
            if (i > 0 && i<maxIndex)
            {
                result += 2 * Math.exp(-Math.pow(deltaX * i, 2));
                continue;
            }
            else if (i == maxIndex)
            {
                result += Math.exp(-Math.pow(deltaX * i, 2));
                continue;
            }
            else if(i==0){
                result += Math.exp(-Math.pow(deltaX * i, 2));
                continue;
            }
        }
        return result*deltaX/Math.pow(Math.PI,0.5);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [深入浅出多旋翼飞控开发][姿态篇][四][非线性最小二乘与飞控传感器校准] 作者:王伟韵QQ : 3527079...
    梦萦蓝天阅读 5,423评论 0 10
  • 原文章为scikit-learn中"用户指南"-->"监督学习的第七节:Gaussian Processes"##...
    HabileBadger阅读 18,669评论 0 9
  • 以西瓜书为主线,以其他书籍作为参考进行补充,例如《统计学习方法》,《PRML》等 第一章 绪论 1.2 基本术语 ...
    danielAck阅读 4,642评论 0 6
  • 查看原文 1 简介 Deep Learning最简单的一种方法是利用人工神经网络的特点,人工神经网络(ANN)本身...
    JinkeyAI阅读 6,834评论 0 4
  • 同事苦恼地说:忙碌的生活是没有意义的!我们都知道,我们的忙,有点没有自我了,关注大孩子,关注自家小孩子。留给自己的...
    卿莹阅读 233评论 2 0