tedieka Orang Geofisika yang sangat tertarik dengan teknologi, mapping, blogger, dll serta mempunyai niat pengen selalu berbagi dengan tulisan tapi gak jadi-jadi.

Contoh program interpolasi lagrange dalam bahasa c++

1 min read

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

tedieka Orang Geofisika yang sangat tertarik dengan teknologi, mapping, blogger, dll serta mempunyai niat pengen selalu berbagi dengan tulisan tapi gak jadi-jadi.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *