You are on page 1of 4

INTERPOLACION DE HERMITE: CODIGO

IMPORTAR CLASE:
package javaapplication31;
import javax.swing.*;
INICIAR PROGRAMA (jButton5)
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
JOptionPane.showMessageDialog(null,"Ingresar los valores que se piden a
continuacin");
INICIAR PROCESO DE INTERPOLACION (jButton1)
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
//DECLARAMOS LAS VARIABLES A UTILIZAR
int a,b,c,f;
double d,s,x,k,p,w,v,g,l,y,suma,j,q,sum;
y=1;
l=0;
s=1;
v=1;
sum=0;
suma=0;
//INTRODUCIMOS EL NUMERO DE DATOS
a=Integer.parseInt(txt1.getText());
double m[][]=new double[a][3];
//INTRODUCIMOS LOS DATOS QUE PIDEN A CONTINUACION (X,F(X),F(x))
for (b=0;b<a;b++){
m[b][0]=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese
Valor de x["+(b+1)+"] es:"));
m[b][1]=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese
Valor de x["+(b+1)+"] es:"));
m[b][2]=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese
Valor de y'["+(b+1)+"] es:"));
}
//INTRODUCIMOS EL VALOR A INTERPOLAR X
JOptionPane.showMessageDialog(null,"El valor interpolado es:");
x=Integer.parseInt(txt2.getText());
for (f=0;f<a;f++){
c=f;
//DEFINIREMOS LOS VALOR DE LAS VARIABLES (ACUMULADORES)
for(b=0;b<a;b++){
if(b!=c){

if((m[c][0]-m[b][0])==0){
s=0;
}else {
d=(m[c][0]-m[b][0]);
k=1/(m[c][0]-m[b][0]);
q=(x-m[b][0]);
s=s*q*k;
v=v*k;
l=(1*y)+(l*d);
y=y*d;
}
}
}
p=l*v;
w=(1-(2*(x-m[c][0])*p))*s*s*(m[c][1]);
j=(x-m[c][0])*s*s*(m[c][2]);
sum=sum+w;
suma=suma+j;
v=1;
s=1;
y=1;
l=0;
}
g=suma+sum;
txt6.setText(String.valueOf(g));
}
NUEVA INTERPOLACION (jButton3)
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
txt1.setText("");
txt2.setText("");
txt6.setText("");
}
CERRAR (jButton4)
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
dispose();

You might also like