Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package internewtonrp;
- import java.util.Scanner;
- public class InterNewtonRP {
- public static void wczytajDane(double[] tablica) {
- Scanner scanner = new Scanner(System.in);
- for (int i = 0; i < 5; i++) {
- System.out.println("Podaj " + (i + 1) + " element : ");
- tablica[i] = scanner.nextInt();
- }
- }
- public static double Newton_InterpolationRP(double[] tablicax, double[] tablicay, double podstawowyX) {
- int index1, index2;
- double H, pomocnicza, temp, wynik = 0;
- H = tablicax[1] - tablicax[0];
- for (index2 = 0; index2 < 5; index2++) {
- for (index1 = 4; index1 > index2; index1--) {
- tablicay[index1] = (tablicay[index1] - tablicay[index1 - 1]);
- }
- }
- for (index1 = 4; index1 >= 0; index1--) {
- temp = 1;
- for (index2 = 0; index2 < index1; index2++) {
- pomocnicza = podstawowyX - tablicax[index2];
- temp *= pomocnicza;
- }
- temp *= tablicay[index2] / (silnia(index2) * Math.pow(H, index2));
- wynik = wynik + temp;
- }
- return wynik;
- }
- private static int silnia(int i) {
- if (i < 1) {
- return 1;
- } else {
- return i * silnia(i - 1);
- }
- }
- public static void main(String[] args) {
- double podstawowyX = 3;
- // Dane do programu : x= -4 -2 0 2 4 y= 537 37 1 45 553
- double[] mojeX = new double[5];
- double[] mojeY = new double[5];
- System.out.println("Elementy tablicy X: ");
- wczytajDane(mojeX);
- System.out.println("Elementy tablicy Y: ");
- wczytajDane(mojeY);
- System.out.println(Newton_InterpolationRP(mojeX, mojeY, podstawowyX));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement