Java实现牛顿插值-创新互联

在这里插入图片描述

成都创新互联公司是一家专业提供德清企业网站建设,专注与网站建设、成都网站设计H5技术、小程序制作等业务。10年已为德清众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
public class Test {static double[][] format;

    public static void main(String[] args) {// TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        System.out.print("输入插入总点数:");
        int n=in.nextInt();//插入点总数
        double[][] xy=new double[2][n];//二维数组来存储x和y
        for(int j=0;jSystem.out.print("输入第"+(j+1)+"个点的x:");
            xy[0][j]=in.nextDouble();//第0行放各点的x值
            System.out.print("输入第"+(j+1)+"个点的y:");
            xy[1][j]=in.nextDouble();//第1行放各点的y值
        }
        creatformat(xy, n);
        System.out.println("输入计算几个点:");
        int v=in.nextInt();//所求点的总数
        for(int i=0;iSystem.out.println("输入x= ");
            double x=in.nextDouble();
            System.out.print("f("+x+")≈"+"Nn("+x+")"+"=");
            System.out.printf("%.5f", Nn(xy, n, x));
            System.out.println();
        }
    }


    static void creatformat(double[][] xy,int n) {format=new double[n-1][n-1];
        for(int i=0;ifor(int j=0;jif(i==0) {format[i][j]=(xy[1][j]-xy[1][j+1])/(xy[0][j]-xy[0][j+1]);
                }
                else{format[i][j]=(format[i-1][j]-format[i-1][j+1])/(xy[0][j]-xy[0][j+i+1]);
                }
            }
        }
    }

    static double Nn(double[][] xy,int n,double x) {//牛顿插值公式
        double sum=xy[1][0];//求和的初始值为f(X0)
        for(int i=0;idouble c=1;
            for(int j=0;jc=(x-xy[0][j])*c;
            }
            sum=sum+format[i][0]*c;
        }
        return sum;
    }
}

运行结果得:
在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章名称:Java实现牛顿插值-创新互联
URL标题:http://pwwzsj.com/article/doipie.html