Interpolacja funkcji metodą Lagrange'a

Witam, zamieszczam kolejny programik napisany w javie - do czego służy widać z tytułu posta. Jest to kolejny projekt zaliczeniowy przy czym przy jego tworzeniu najważniejsze było zrozumienie algorytmu jego działania. W związku z czym nie zamieszczam całości kodu, a jedynie kod obsługi przycisku "Oblicz":

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:



    //pobieram ilość elementów które powinienem pobrać z tablicy

    wielkosc = jSpinner1.getValue( ).hashCode( );

    x = Double.valueOf(jTextField1.getText( ));

    Double iloczyn = 1D;

    Double suma = 0D;

    //tablice tymczasowe

    Double[ ] X = new Double[wielkosc];

    Double[ ] Y = new Double[wielkosc];



    //wczytywanie danych z komponentu do tablicy



    for (int i = 0; i < wielkosc; i++) {


      Y[i] = Double.valueOf(jTable1.getModel( ).getValueAt(i, 1).toString( ));

      System.out.println("i " + i + "y = " + Y[i]);


    }



    for (int i = 0; i < wielkosc; i++) {


      X[i] = Double.valueOf(jTable1.getModel( ).getValueAt(i, 0).toString( ));

      System.out.println("i " + i + "x = " + X[i]);


    }

    for (int i = 0; i < wielkosc; i++) {
      iloczyn = 1D;

      for (int k = 0; k < wielkosc; k++) {
        if (i != k) {
          iloczyn *= (x - X[k]) / (X[i] - X[k]);

          System.out.println("x " + x);

          System.out.println("k " + k + " = " + X[k]);

          System.out.println("i " + i + " = " + X[i]);



          System.out.println("iloczyn " + iloczyn);
        }
      }

      suma += Y[i] * iloczyn;

      System.out.println("suma " + suma);
    }

    jTextArea1.append("wynik" + suma +"\n");
}





Kod wygenerowany za pomocą programu: Code Generator

Comments

Popular posts from this blog

How to simulate slow connection (developer proxy in Node.js)

How to use NPM packages from private repositories on bitbucket