JedersonSec

Interpolação polinomial - Método de Lagrange [JAVA]

May 26th, 2014
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.66 KB | None | 0 0
  1. package calculonumerico;
  2. // Interpolação Polinomial - Método de LaGrange implementado em JAVA
  3. // Autor: Jederson9 Secundino de Almeida
  4. import javax.swing.JOptionPane;
  5.  
  6. public class CalculoNumerico {
  7.  
  8.     public static void main(String[] args) {
  9.       // Declaração das variáveis necessárias no programa  
  10.       double valor = 0, resultado = 0, a, b;
  11.       int pontos, i, j;
  12.      // Entrada de Dados (Inserção do número de pontos)
  13.         pontos = Integer.parseInt(JOptionPane.showInputDialog("Insira o número de pontos"));
  14.      // Declaração das duas matrizes que armazenaram os valores de X e Y  
  15.         double [] x = new double [pontos];
  16.         double [] y = new double [pontos];
  17.        // Entrada de Dados (Inserção dos valores de X, Y e o Valor que deseja interpolar)
  18.         for (i = 0; i < pontos; i++){
  19.             x[i] = Double.parseDouble(JOptionPane.showInputDialog("Insira o valor de x"));          
  20.         }
  21.         for (i = 0; i < pontos; i++){
  22.             y[i] = Double.parseDouble(JOptionPane.showInputDialog("Insira o valor de y"));
  23.         }
  24.             valor = Double.parseDouble(JOptionPane.showInputDialog("Qual o valor a ser interpolado ?"));
  25.        
  26.             // Processamento de Dados
  27.          for (i = 0; i < pontos; i++){
  28.          a = 1;
  29.          b = 1;
  30.           for (j = 0; j < pontos; j++){
  31.               if (i != j){
  32.                   a *= valor - x[j];
  33.                   b *= x[i] - x[j];
  34.               }
  35.           }
  36.           resultado += y[i] * (a/b);
  37.         }
  38.          // Saída de dados (Amostra do resultado)
  39.         JOptionPane.showMessageDialog(null, "O Restultado é: " + resultado);
  40.     }
  41.    
  42. }
Advertisement
Add Comment
Please, Sign In to add comment