miércoles, 25 de mayo de 2016

LAGRANGE

LAGRANGE





CÓDIGO EN JAVA

import inputs;
import java.io.*;
public class lagrange
{
static int num; //Este es el numero de nodos que voy a introducir
static double[][] datos; //tabla de datos
{ //interpolacion segun el polinomio
public static double Poli(double x)//esta funcion calcula la double suma=0.0; for(int i=0;i<num;i++)
private static double lagra(int i,double x)
{ suma+=((datos[i][1])*(lagra(i,x))); } return (suma); } { double multi=1;
}
for(int j=0;j<num;j++) { if(i!=j) multi*=((x-datos[j][0])/(datos[i][0]-datos[j][0]));
for(int i=0;i<num;i++) //en este ciclo se introducen
return(multi); } public static void leetabla() { { //los datos
datos[i][0]=inputs.readDob(); //se introducen las "x"
System.out.println("Introduce el dato(x,y) numero:"+(i+1)); datos[i][1]=inputs.readDob(); //se introducen las "y" o f(x) } }
String resp;
public static void main(String args[]) throws IOException { //numero de muestras double intra,resultado; //numero que se desea intrapolar boolean pregunta=true; char comp='y';
System.out.println("Introduce el numero a intrapolar");
System.out.println("Escribe el numero de datos a introducir"); num=inputs.readInt(); datos=new double[num][2]; //tabla de datos leetabla(); //pone las "x" y las "y" iniciales while(pregunta) { intra=inputs.readDob();
resp=inputs.readStr();
if(intra<datos[0][0]||intra>datos[num-1][0]) System.out.println("CUIDADO CON EL COLERA, ESTAS EXTRAPOLANDO"); resultado=Poli(intra); System.out.println("El valor encontrado es: "+resultado); System.out.println("Deseas intrapolar otro numero?:(y/n)"); if (resp.charAt(0)==comp)
}
pregunta=true; else pregunta=false; }
}

0 comentarios:

Publicar un comentario