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)’);