algorytm.org

Implementacja w Java



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Interpolacja Lagrange’a - Implementacja w Java
Ocena użytkownikóww: *****  / 21
SłabyŚwietny
Nadesłany przez Michał Ładanowski, 01 marca 2011 22:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

Main.java:
/** Interpolacja Lagrange'a
 *  Michał Ładanowski (c) 2011
 *  www.algorytm.org
 */

public class Main {

	public static void main(String[] args) {
		// węzły interpolacji oraz odpowiadające im wartości
		// ( jak nie trudno się domyślić funkcja to x^2)
		double[] x = {-4, -2, 0, 1,3 };
		double[]y = {16, 4, 0, 1, 9};

		//chcemy znaleźć wartość w x = 2
		double y2 = lagrangeInterpolation(x,y,2);
		System.out.println("x = 2 -> y = "+y2);

	}

	public static double lagrangeInterpolation(double[] xs, double[] ys, double x ){ 
		double t; 
		double y = 0.0; 
		
		for(int k = 0; k< xs.length; k++){ 
			t = 1.0; 
			for(int j = 0; j < xs.length ; j++){ 
				if(j != k ){ 
					t=t*((x-xs[j])/(xs[k]-xs[j]));  
				} 
			} 
			y += t*ys[k]; 
		} 
		return y; 
	} 


}
Dodaj komentarz