Program interpolacyjny metoda Newtona różnicami progresywnymi

0

Witam, mam problem z wypisaniem poprawnym części kody, dokładniej chodzi mi o tą część

for(int j=0; j<tablicax.length-1;j++){
              rzad[j][i+1]=((rzad[j+1][i]-rzad[j][i]));

              System.out.println("Różnica progresowa: "+(i+1)+" Element nr:"
                      +(j+1)+" Wartość: "+rzad[j][i+1]); 

Na ekranie wypisuje mi coś w tym stylu

Iloraz różnicowy rzędu: 1 Element nr:1 Wartość: -186.0
Iloraz różnicowy rzędu: 1 Element nr:2 Wartość: -26.0
Iloraz różnicowy rzędu: 1 Element nr:3 Wartość: -10.0
Iloraz różnicowy rzędu: 1 Element nr:4 Wartość: -138.0

Iloraz różnicowy rzędu: 2 Element nr:1 Wartość: 160.0
Iloraz różnicowy rzędu: 2 Element nr:2 Wartość: 16.0
Iloraz różnicowy rzędu: 2 Element nr:3 Wartość: -128.0
Iloraz różnicowy rzędu: 2 Element nr:4 Wartość: 138.0

Iloraz różnicowy rzędu: 3 Element nr:1 Wartość: -144.0
Iloraz różnicowy rzędu: 3 Element nr:2 Wartość: -144.0
Iloraz różnicowy rzędu: 3 Element nr:3 Wartość: 266.0
Iloraz różnicowy rzędu: 3 Element nr:4 Wartość: -138.0

Iloraz różnicowy rzędu: 4 Element nr:1 Wartość: 0.0
Iloraz różnicowy rzędu: 4 Element nr:2 Wartość: 410.0
Iloraz różnicowy rzędu: 4 Element nr:3 Wartość: -404.0
Iloraz różnicowy rzędu: 4 Element nr:4 Wartość: 138.0

**a chciałbym w wyniku otrzymać **

Iloraz różnicowy rzędu: 1 Element nr:1 Wartość: -186.0
Iloraz różnicowy rzędu: 1 Element nr:2 Wartość: -26.0
Iloraz różnicowy rzędu: 1 Element nr:3 Wartość: -10.0
Iloraz różnicowy rzędu: 1 Element nr:4 Wartość: -138.0

Iloraz różnicowy rzędu: 2 Element nr:1 Wartość: 160.0
Iloraz różnicowy rzędu: 2 Element nr:2 Wartość: 16.0
Iloraz różnicowy rzędu: 2 Element nr:3 Wartość: -128.0

Iloraz różnicowy rzędu: 3 Element nr:1 Wartość: -144.0
Iloraz różnicowy rzędu: 3 Element nr:2 Wartość: -144.0

Iloraz różnicowy rzędu: 4 Element nr:1 Wartość: 0.0

Nie nie mam pojęcia jak poprawić aby wyświetlił się poprawnie kod
Proszę o pomoc

Cały kod obliczeniowy

public static double interpolacja(double[] tablicax, double[] tablicay, double wartosc ){
      int pom=0;
      double wynik=0;
      double womega=1;
      double[][] rzad = new double[tablicax.length][tablicax.length];

      
      for(int i=0;i<tablicay.length;i++){
          rzad[i][0]=tablicay[i]; 
      }
          System.out.println(" ");

      for(int i=0;i<tablicax.length;i++){
          try{
            for(int j=0; j<tablicax.length-1;j++){
              rzad[j][i+1]=((rzad[j+1][i]-rzad[j][i]));

              System.out.println("Różnica progresowa: "+(i+1)+" Element nr:"
                      +(j+1)+" Wartość: "+rzad[j][i+1]);
        }}

          catch(ArrayIndexOutOfBoundsException e){}
            pom++;
            System.out.println(" ");
            wynik+= ... //brak obliczen
            womega= womega*(wartosc-tablicax[i]);
      }
      return wynik;
  }
0

Na pierwszy rzut oka wystarczy to

for(int j=0; j<tablicax.length-1-i;j++)
0

Dziękuję za pomoc, działa poprawnie.
Zostało mi teraz tylko ułożyć funkcję obliczeniową dla interpolacji Newtona z różnicami progresywnymi ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1