java吧 关注:1,240,561贴子:12,712,646
  • 0回复贴,共1

import java.util.Scanner;提示

只看楼主收藏回复

package gs;
public class wqwq {
/*拉格朗日插值法*/
import java.util.Scanner;
private static double[] Lag_method(double X[],double Y[],double X0[]){
int m=X.length;
int n=X0.length;
double Y0[]=new double[n];
for(int i1=0;i1<n;i1++){//遍历X0
double t=0;
for(int i2=0;i2<m;i2++){//遍历Y
double u=1;
for(int i3=0;i3<m;i3++){//遍历X
if(i2!=i3){
u=u*(X0[i1]-X[i3])/(X[i2]-X[i3]);
}
}
u=u*Y[i2];
t=t+u;
}
Y0[i1]=t;
}
return Y0;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
/*输入插值点横纵坐标*/
System.out.println("Input number of interpolation point:");
Scanner scan=new Scanner(System.in);
int m=scan.nextInt();
System.out.println("Input number of test point:");
int n=scan.nextInt();
double X[]=new double[m];
double Y[]=new double[m];
double X0[]=new double[n];
System.out.println("Input the elements of X:");//已知插值点
for(int i=0;i<m;i++){
X[i]=scan.nextDouble();
}
System.out.println("Input the elements of Y:");//已知插值点的函数值
for(int i=0;i<m;i++){
Y[i]=scan.nextDouble();
}
System.out.println("Input the elements of X0:");//需要求的插值点的横坐标标值
for(int i=0;i<n;i++){
X0[i]=scan.nextDouble();
}
double Y0[]=Lag_method(X, Y, X0);//使用拉格朗日插值法求解得到需求插值点的纵坐标值
System.out.println("拉格朗日插值法求解得:");
for(int i=0;i<n;i++){
System.out.println(Y0[i]+" ");
}
System.out.println();
}
}
}
错误提示
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
标记“void”上有语法错误,应为 @
标记“]”上有语法错误,在此标记之后应为 ::
语法错误,将“enum Identifier”插入到完整 EnumHeader 中
语法错误,将“}”插入到完整 EnumBody 中


1楼2016-03-22 15:07回复