Interpolasi Lagrange

Interpolasi Lagrange

===

12.1 Interpolasi Lagrange

Interpolasi Lagrange diterapkan untuk mendapatkan fungsi polinomial P (x) berderajat tertentu yang melewati sejumlah titik data. Misalnya, kita ingin mendapatkan fungsi polinomial berde-

rajat satu yang melewati dua buah titik yaitu (x 0 ,y 0 ) dan (x 1 ,y 1 ). Langkah pertama yang kita lakukan adalah mendefinisikan fungsi berikut

kemudian kita definisikan fungsi polinomial sebagai berikut

P (x) = L 0 (x)y 0 +L 1 (x)y 1

Jika semua persamaan diatas kita gabungkan, maka akan didapat

P (x) = L 0 (x)y 0 +L 1 (x)y 1

x−x 1 x−x P (x) = 0 y

x 0 −x 1 x 1 −x 0

dan ketika x=x 0

−x

−x

P (x

y 1 =y 0

x 0 −x 1 x 1 −x 0

234 BAB 12. INTERPOLASI dan pada saat x=x 1

dari contoh ini, kira-kira apa kesimpulan sementara anda? Ya.. kita bisa sepakat bahwa fungsi polinomial

P (x) = x−x 1 y 0 0 + x−x y 1 (12.1)

x 0 −x 1 x 1 −x 0 benar-benar melewati titik (x 0 ,y 0 ) dan (x 1 ,y 1 ).

Sekarang mari kita perhatikan lagi contoh lainnya. Misalnya ada tiga titik yaitu (x 0 ,y 0 ), (x 1 ,y 1 ) dan (x 2 ,y 2 ). Tentukanlah fungsi polinomial yang melewati ketiganya! Dengan pola yang sama kita bisa awali langkah pertama yaitu mendefinisikan

kemudian kita definisikan fungsi polinomial sebagai berikut

P (u) = L 0 (u)y 0 +L 1 (u)y 1 +L 2 (u)y 2

Jika semua persamaan diatas kita gabungkan, maka akan didapat fungsi polinomial

(x 2 −x 0 )(x 2 −x 1 ) Kita uji sebentar. Ketika x=x 0

(x 2 −x 0 )(x 2 −x 1 ) pada saat x=x 1

(x 2 −x 0 )(x 2 −x 1 ) pada saat x=x 2

(x 0 −x 1 )(x 0 −x 2 )

(x 1 −x 0 )(x 1 −x 2 )

(x 2 −x 0 )(x 2 −x 1 ) P (x 2 )=

(x 2 −x 1 )(x 2 −x 2 )

(x 2 −x 0 )(x 2 −x 2 )

y 2 =y 2

(x 0 −x 1 )(x 0 −x 2 )

(x 1 −x 0 )(x 1 −x 2 )

(x 2 −x 0 )(x 2 −x 1 )

12.1. INTERPOLASI LAGRANGE 235 Terbukti bahwa fungsi polonomial

(x 2 −x 0 )(x 2 −x 1 ) melewati ketiga titik tadi.

(x 0 −x 1 )(x 0 −x 2 )

(x 1 −x 0 )(x 1 −x 2 )

Kalau kita bandingkan antara persamaan (12.1) dan persamaan (12.2), terlihat bahwa derajat persamaan (12.2) lebih tinggi dibandingkan dengan derajat persamaan (12.1). Hal ini terlihat

dari x 2 pada persamaan (12.2) sementara pada persamaan (12.1) hanya ada x. persamaan (12.2) disebut fungsi polinomial berderajat 2, sedangkan persamaan (12.1) disebut fungsi poli- nomial berderajat 1.

Script matlab untuk polinomial Lagrange berderajat 2 yang sesuai persamaan (12.2) adalah sebagai berikut:

1 clc; clear all; close all

3 x = [2 7.2 -6]; 4 y = [4 6.3 5];

6 plot(x,y,’sr’); 7 axis([-8 8 0 8]);

9 u = 5; 10 % =========== Menghitung koefisien Lagrange ============ 11 L1 = (u-x(2))*(u-x(3)) / ((x(1)-x(2))*(x(1)-x(3))); 12 L2 = (u-x(1))*(u-x(3)) / ((x(2)-x(1))*(x(2)-x(3))); 13 L3 = (u-x(1))*(u-x(2)) / ((x(3)-x(1))*(x(3)-x(2))); 14 % =========== Menghitung interpolasi Lagrange ========== 15 P = L1*y(1) + L2*y(2) + L3*y(3);

17 hold on 18 plot(u,P,’*’); grid on; 19 xlabel(’\fontsize{12} x’); 20 ylabel(’\fontsize{12} P(x)’);

Script matlab untuk polinomial Lagrange yang bisa menyesuaikan jumlah pasangan titik adalah sebagai berikut:

1 clc; clear all; close all;

3 x = [2 7.2 -6 4 -1]; 4 y = [4 6.3 5 3 0]; 5 u = -5:0.001:7;

7 plot(x,y,’sr’) 8 axis([-7 8 -6 7]);

10 n = length(x); 11 w = length(u); 12 for h = 1:w

13 for q = 1:n 14 M = 1;

236 BAB 12. INTERPOLASI

P(x) 0

Gambar 12.1: Kurva hasil interpolasi Lagrange

15 for k = 1:n 16 if k ~= q 17 M = M * (u(h)-x(k)); 18 end 19 end 20 N = 1; 21 for k = 1:n

22 if k ~= q 23 N = N * (x(q)-x(k)); 24 end 25 end 26 L(q) = M/N;

27 end 28 P = 0; 29 for k = 1:n

30 P = P + L(k)*y(k); 31 end 32 B(h) = P;

33 end 34 hold on 35 plot(u,B); grid on; 36 xlabel(’\fontsize{12} x’); 37 ylabel(’\fontsize{12} P(x)’);