我用java做的曲线拟合,为什么画不出曲线?帮帮忙各位
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));
}
}
}
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));
}
}
}
...全文
相关推荐
曲线拟合计算(java实现)
一个用于计算曲线和直线拟合的小软件,用java语言编写,做的不是太好,请大家不要责怪
Java编程实践:深入理解随机样本及曲线拟合
本文还有配套的精品资源,点击获取 简介:本文介绍了Java编程语言中"java_samples"概念,这是一系列代码示例集合,用于展示Java的特性和功能。特别关注了曲线拟合在Java中的应用,探讨了相关的数学和统计学概念,以及实现曲线拟合所需的数值分析库。文章还建议关注代码结构、控制流程、数据结构、输入/输出、多线程、异常处理和设计模式等方面,以便深入学习和实践Java编...
java拟合曲线图案例_Java实现的n阶曲线拟合功能示例
本文实例讲述了Java实现的n阶曲线拟合功能。分享给大家供大家参考,具体如下:前面一篇文章Java实现求解一元n次多项式的方法,能解多项式以后,还需要利用那个类,根据若干采样点数据来对未来数据进行预测,拟合的矩阵在上一篇文章中已经贴出来了,这里就不说了,本篇主要是如何根据采样点来计算系数矩阵,并计算预测点的值。原理很简单,公式在上一篇文章中也有了,此处直接贴代码。其中用到了上一篇文章中写的类com...
Java实现四参数Logistic曲线拟合代码.zip
基于Java语言,实现四参数Logistic曲线拟合的程序代码,拟合结果与matlab计算结果基本一致。
Java编写的用最小二乘拟合曲线(带图形)
java,数值计算,曲线拟合,最小二乘,带画图,程序中数据都是固定的如果想应用于其他数据可自行更改,很easy。


Java SE
