Interpolasi adalah proses menemukan dan mengevaluasi fungsi yang grafiknya melewati himpunan titik-titik yang diberikan.
Pada kesempatan ini akan dibahas tentang Interpolasi Lagrange atau dikenal juga dengan nama Polinom Lagrange. Perhatikan Polinom Lagrange Derajat 1 atau Interpolasi Linier, untuk interpolasi ini menggunakan pendekatan garis-garis atau persamaan linier sehingga digunakan persamaan garis untuk mengkonstruksi interpolasinya.
BACA JUGA :
Teori interpolasi lagrange
Interpolasi lagrange diturunkan dari persamaan Newton. Interpolasi lagrange diterapkan untuk mendapatkan fungsi polinomial P(x) berderajat tertentu yang melewati sejumlah titik data.
Persamaan berikut dinamakan Polinom Lagrange derajat 1 :
Bentuk Umum polinom Lagrange derajat ≤ n untuk (n + 1) titik berbeda :
yang dalam hal ini : ai = yi, i = 0, 1, 2, …, n
ALGORITMA INTERPOLASI LAGRANGE
- Menetapkan jumlah titik yang diketahui
- Menggunakan dua array x dan y dengan jumlah data = jumlah titiknya.
- Mencari Li(x) dan P(x)
- Mencari Qi(x) untuk titik yang dikatahui dengan menggunakan perulangan
- Mensubstitusi nilai xikedalam Qi(x)
- Misalnya banyaknya titik yang diketahui adalah b , Menginput b dari i = 1 s.d b
Contoh soal:
Tentukan f(22) dengan polinom Langrange derajat 2
#include <stdio.h>
#include <iostream.h>
#include<conio.h>
int main(void)
{
float xBar,hasil;
float x[100],f[100],l[100],hitung;
int n,i,j,k;
printf(“n —————————-“);
printf(“n Tugas Metnum METODE LAGRANGE”);
printf(“n —————————-“);
printf(“nnnMasukkan Jumlah Data : “); scanf(“%i”,&n);
printf(“n—————————-“);
printf(“n”);
for(i=0;i<n;i++)
{
printf(“nMasukkan nilai x%i : “,i); scanf(“%f”,&x[i]);
printf(“Masukkan nilai y%i : “,i); scanf(“%f”,&f[i]);
}
printf(“n”);
printf(“n—————————-“);
printf(“nMasukkan nilai xBar : “); scanf(“%f”,&xBar);
printf(“n”);
printf(“sehingga titik titiknya adalah :n “);
printf(“n”);
for (i=0;i<n;i++)
{
cout <<“(“<<x[i]<<“,”<<f[i]<<“)”<<endl;
}
printf(“dengan nilai xBar = %.2f “,xBar);
hasil=(f[0]*((xBar-x[1])/(x[0]-x[1]))*((xBar-x[2])/(x[0]-x[2])))+(f[1]*((xBar-x[0])/(x[1]-x[0]))*((xBar-x[2])/(x[1]-x[2])))+(f[2]*((xBar-x[0])/(x[2]-x[0]))*((xBar-x[1])/(x[2]-x[1])));
printf(“nMaka nilai yBar untuk xBar : %.3f”,xBar);
printf(“nadalah : %.3f”,hasil);
getch();
return(0);
}
Hasilnya akan tampak seperti berikut:
Untuk file perhitungan excel nya silahkan dwonload di SINI