Contoh program interpolasi lagrange dalam bahasa c++

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:

Dari fungsi y=f(x) data sebagai berikut :

Tentukan f(22) dengan polinom Langrange derajat 2

Berikut penyelesaiannya programnya dalam bahsa c++ dengan menggunakan algoritma program seperti diatas :

#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

Tinggalkan komentar