我用java做的曲线拟合,为什么画不出曲线?帮帮忙各位
楼歪 2015-05-28 09:19:40 package curve;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Map;
import java.util.TreeMap;
import javax.swing.JFrame;
public class Interpose extends JFrame {
public static double[] X;
public static double[] Y;
public static void main(String[] args) {
// Map m2=new TreeMap<String,Double[]>();
// Bineng b=new Bineng();
// m2=b.genData();
// X =(double[]) m2.get("bi2");
// Y = (double[]) m2.get("n2");
X=new double[3];
Y=new double[3];
for(int i=0;i<3;i++){
X[i]=i;
Y[i]=i*i;
System.out.println(X[i]);
System.out.println(Y[i]);
}
Interpose i=new Interpose();
}
public Interpose() {
super();
setBounds(0, 0, 600, 600);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent ev) {
dispose();
System.exit(0);
}
});
setVisible(true);
}
//Lagrange interpose
public static double Lagrange(double x[], double y[], double value) {
double sum = 0;
double L;
for (int i = 0; i < x.length; i++) {
L = 1;
for (int j = 0; j < x.length; j++) {
if (j != i)
L = L * (value - x[j]) / (x[i] - x[j]);
}
sum = sum + L * y[i];
}
return sum;
}
// public void paint(Graphics g,double[] bi,double[] n) {
public void paint(Graphics g){
// double[] X = { 123.334, 134.4532,133.1233 };
// double[] Y = { 224.567, 245.565,257.899};
double min=Double.MAX_VALUE;
double max=Double.MIN_VALUE;
for(int i=0;i<X.length;i++){
if(X[i]>max) max=X[i];
if(X[i]<min) min=X[i];
}
g.setColor(Color.red);
for (double x = min; x <= max; x = x + 0.01) {
g.drawLine((int) x, (int) Lagrange(X, Y, x), (int) x,
(int) Lagrange(X, Y, x));
}
}
}