Skip to main content

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("\n\n\nMasukkan 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
Published by:
Comment Policy: Silahkan berkomentar, kami pasti akan membalas komentar Anda. NO #linkaktif dan #promosi!.
Buka Komentar