Interpolasi Lagrange adalah metode aljabar untuk membangun sebuah fungsi polinomial yang melewati sekumpulan titik data yang diberikan. Metode ini biasanya dipakai ketika kita memiliki nilainilai fungsi pada beberapa titik tertentu dan ingin memprediksi nilai fungsi pada titik lain di antara mereka.
Misalkan kita memiliki n+1 titik data yang berbeda, yaitu (x, y), (x, y), , (x, y). Interpolasi Lagrange menghasilkan polinomial P(x) berderajat maksimal n yang memenuhi:
P(x) = y untuk semua i = 0,1,,n
Polinomial tersebut dapat ditulis sebagai kombinasi linear dari basis Lagrange:
P(x) = _{i=0}^{n} yL(x)
dimana L(x) adalah fungsi basis Lagrange yang didefinisikan sebagai:
L(x) = _{j=0, ji}^{n} (x - x) / (x - x)
Setiap L(x) bernilai 1 pada x = x dan 0 pada semua titik x lain, sehingga kontribusi yL(x) hanya muncul pada titik x.
x berbeda.i, hitung produk atas semua j i:L(x) = (x-x)(x-x)(x-x)(x-x)(x-x) / [(x-x)(x-x)(x-x)(x-x)(x-x)] L(x) dengan y dan jumlahkan semua.Misalkan kita mempunyai tiga titik: (1,2), (2,3), (4,5). Karena ada tiga titik, derajat polinomial yang dihasilkan adalah 2.
| i | x | y | L(x) |
|---|---|---|---|
| 0 | 1 | 2 | (x-2)(x-4) / [(1-2)(1-4)] = (x-2)(x-4) / 3 |
| 1 | 2 | 3 | (x-1)(x-4) / [(2-1)(2-4)] = -(x-1)(x-4) / 2 |
| 2 | 4 | 5 | (x-1)(x-2) / [(4-1)(4-2)] = (x-1)(x-2) / 6 |
Sehingga polinomialnya:
P(x) = 2(x-2)(x-4)/3 + 3[-(x-1)(x-4)/2] + 5(x-1)(x-2)/6 Jika disederhanakan menjadi P(x) = 0.5x - 0.5x + 2. Polinomial ini menghasilkan nilai y yang tepat pada tiga titik asal dan dapat dipakai untuk memperkirakan nilai y pada x lainnya, misalnya P(3) = 0.59 - 0.53 + 2 = 5.
x berdekatan atau jumlah titik besar.Interpolasi Lagrange banyak dipakai dalam bidang:
Berikut contoh fungsi JavaScript yang menghitung nilai interpolasi Lagrange untuk satu titik x:
function lagrange(x, xs, ys) { const n = xs.length; let result = 0; for (let i = 0; i < n; i++) { let term = ys[i]; for (let j = 0; j < n; j++) { if (j !== i) { term *= (x - xs[j]) / (xs[i] - xs[j]); } } result += term; } return result;}// contoh penggunaanconst xs = [1, 2, 4];const ys = [2, 3, 5];console.log(lagrange(3, xs, ys)); // 5 Interpolasi Lagrange menawarkan cara langsung untuk membangun sebuah polinomial yang melewati sekumpulan titik data. Meskipun mudah dipahami dan diimplementasikan, penggunaannya harus dipertimbangkan dengan hatihati pada data berukuran besar atau ketika diperlukan kestabilan numerik yang tinggi. Untuk situasi seperti itu, metode spline atau interpolasi berbasis basis orthogonal dapat menjadi alternatif yang lebih baik.
