扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流