Se ha creado la clase Regresion en la la página www.sc.ehu.es/sbweb/fisica/cursoJava/numerico/regresion/regresion.htm. Usar esta clase, para crear el el siguiente applet. Solamente se precisa la representación gráfica de los puntos experimentales y la recta de ajuste.
public class Regresion { private double[] x; private double[] y; private int n; //número de datos public double a, b; //pendiente y ordenada en el origen public Regresion(double[] x, double[] y) { this.x=x; this.y=y; n=x.length; //número de datos } public void lineal(){ double pxy, sx, sy, sx2, sy2; pxy=sx=sy=sx2=sy2=0.0; for(int i=0; i<n; i++){ sx+=x[i]; sy+=y[i]; sx2+=x[i]*x[i]; sy2+=y[i]*y[i]; pxy+=x[i]*y[i]; } a=(n*pxy-sx*sy)/(n*sx2-sx*sx); b=(sy-b*sx)/n; } } |
El applet está diseñado de modo que en la parte izquierda se introducen los pares de datos (separdos por una coma) en un control área de texto. Se introduce un dato, se pulsa la tecla Retorno o Enter, luego se introduce otro dato y así, sucesivamente. Cada par de datos está en una fila y todos ellos en una única una columna.
En la parte derecha, se sitúa un canvas en el que tiene lugar la representación gráfica de los datos
Debajo del control área de texto, se sitúan dos botones uno titulado Calcular para procesar los datos introducidos y otro Borrar, para eliminar los datos del control área de texto, y prepararlo para introducir otros nuevos.
Para disponer los distintos controles se emplea la aproximación de paneles anidados tal como puede verse en la figura. Sobre el applet se sitúa el Panel3 y el canvas. Sobre el Panel3 se sitúa el control área de texto y el Panel2.
Para extraer los datos introducidos del control área de texto y convertirlos en pares de números, estudiar la clase StringTokenizer. Tomar como modelo el ejemplo completo los diagramas.