praktikum metode numerik iv

Upload: raskhy

Post on 19-Jul-2015

97 views

Category:

Documents


5 download

TRANSCRIPT

FAKULTAS MATEMATIKA dan IPA UNIVERSITAS JEMBER

Praktikum Metode Numerik

M. Ziaul Arif, S.Si

PRAKTIKUM METODE NUMERIK IV INTERPOLASI TUJUAN Mahasiswa bisa membuat program untuk mencari nilai di antara beberapa titik data yang telah diketahui nilainya. Mahasiswa bisa membandingkan tingkat efisiensi interpolasi polinomial: interpolasi Newton (selisih terbagi) dan interpolasi lagrange. Mahasiswa bisa menentukan metode yang tepat untuk menyelesaikan masalah yang berhubungan dengan interpolasi.

Dasar teori:A. INTERPOLASI POLINOMIAL NEWTON (SELISIH TERBAGI)

Misalkan fungsi f(x) terdefinisi pada interval [a,b], dan misalkan x1 , x2 , x3 ,..., xn +1 adalah (n+1) bilangan berlainan pada interval [a,b]. maka terdapat sebuah polinomial tunggal Pn ( x) berderajat paling tinggi n yang memenuhi f ( xk ) = Pn ( xk ) untuk k=1,2,3,...(n+1) Polinomial Newton ini adalah Pn ( x) = a1 + a2 ( x x1 ) + a3 ( x x1 )( x x2 ) + a3 ( x x1 )( x x2 )( x x3 ) + ... an+1 ( x x1 )( x x2 )( x x3 )...( x xn ) Dengan ak = f [ x1 , x2 , x3 ,...xk ], untuk k=1,2,3,...,(n+1) Dengan definisi fungsi dalam kurung siku ([]) adalah selisih terbagi. Selisih terbagi tingkat pertama: f ( xi ) f ( x j ) f [ xi , x j ] = xi x j Selisih terbagi tingkat ke dua:f [ xi , x j , xk ] = f [ xi , x j ] f [ x j , xk ] xi xk

Selish terbagi tingkat k-n:f [ xn , xn 1 ,..., x1 , x0 ] = f [ xn , xn 1 ,..., x1 ] f [ xn 1 , xn 2 ,..., x0 ] xn x0

Page | 1

Berikut tabel skema selisih terbagi Newton : i pertama xi f ( xi ) 0 1 2 3x0 x1 x2 x3 f ( x0 ) f ( x1 ) f ( x2 ) f ( x3 ) f [ x1 , x0 ] f [ x2 , x1 ] f [ x3 , x2 ]

keduaf [ x2 , x1 , x0 ] f [ x3 , x2 , x1 ]

ketigaf [ x3 , x2 , x1 , x0 ]

Contoh : Buatlah program untuk mencari tabel selisih terbagi newton jika diketahui data dari fungsi f(x)=ln x sebagai berikut: x 1 4 5 6 F(x) 0 1,3863 1,6094 1,7918 Penyelesaian:Berikut Hasil running program pada MATLAB.Command Window >>selisih_trbgi Tabel Selisih Terbagi Newton Press Enter to continue masukkan nilai X yang akan diproses (Beri []) :[1 4 6 5] Masukkan nilai Y yang akan diproses (Beri []):[0 1.3863 1.7918 1.6094] ans = 1.0000 4.0000 6.0000 5.0000 0 1.3863 1.7918 1.6094 0.4621 0.2027 0.1824 0 -0.0519 -0.0203 0 0 0.0079 0 0 0

Page | 2

Listing program Berikut Listing program selisih terbagi Newton. Simpan pada MATLAB dengan nama selisih_trbgi.clear clc disp(' Tabel Selisih Terbagi Newton ') disp(' Press Enter to continue ') pause clc %% x=input('masukkan nilai X yang akan diproses (Beri []) :'); y=input('Masukkan nilai Y yang akan diproses (Beri []):'); n=length(x); D(1,1:n)=x; D(2,1:n)=y; for j=3:n+1 for k=1:n-j+2 D(j,k)=(D(j-1,k+1)-D(j-1,k))/(x(k+j-2)-x(k)); end end D'

TUGAS: Gunakan Program selisih terbagi Newton diatas untuk membuat program hampiran nilai f(2) dengan polinomial Newton derajat 3 jika diketahui data dari fungsi f(x)=ln x sebagai berikut: x 1 4 5 6 F(x) 0 1,3863 1,6094 1,7918 Plot-kan fungsi polinomial newton yang anda buat kemudian bandingkan dengan fungsi f(x)=ln(x).

B. INTERPOLASI POLINOMIAL LAGRANGE

Secara umum bentuk interpolasi lagrange order n adalah:n

f n ( x ) = Li ( x ) f ( xi )i =1

Dengann

Li ( x) = j =0 j i

x xj xi x j

Adalah fungsi-fungsi kardinal lagrange.

Page | 3

Misal: interpolasi lagrange order 3. Maka persamaannya sebagai berikut:3

f 3 ( x) = Li ( x) f ( xi )i=0

= L0 ( x) f ( x0 ) + L1 ( x) f ( x1 ) + L2 ( x) f ( x2 ) + L3 ( x) f ( x3 )

Dengan,L0 ( x) = L1 ( x) = x x1 x x2 x x3 x0 x1 x0 x2 x0 x3 x x0 x x2 x x3 x1 x0 x1 x2 x1 x3 L2 ( x) = L3 ( x) = x x0 x x1 x x3 x2 x0 x2 x1 x2 x3 x x0 x x1 x x2 x3 x0 x3 x1 x3 x2

Sehingga bentuk fungsi polinomial lagrange order 3 adalahf3 ( x) = + x x1 x x2 x x3 x x0 x x2 x x3 ( x) f ( x0 ) + ( x) f ( x1 ) x0 x1 x0 x2 x0 x3 x1 x0 x1 x2 x1 x3 x x0 x x1 x x3 x x0 x x1 x x2 ( x) f ( x2 ) + ( x) f ( x3 ) x2 x0 x2 x1 x2 x3 x3 x0 x3 x1 x3 x2

Contoh : Buatlah program interpolasi polinomial Lagrange orde 3 untuk mencari hampiran dari f(2) jika diketahui data fungsi f(x)=ln x sebagai berikut: x F(x) 1 0 4 5 6 1,3863 1,6094 1,7918

Page | 4

Penyelesaian:Berikut Hasil running program pada MATLAB.Command Window >>lagrange masukkan nilai X yang akan diproses (Beri []) :[1 4 6 5] Masukkan nilai Y yang akan diproses (Beri []):[0 1.3863 1.7918 1.6094] Masukkan nilai x yang akan dihampiri :2 nilai Kardinalnya adalah : L = 0.4000 z = 2 nilai f(z)= 0.6289 2.0000 0.6000 -2.0000

Listing program Berikut Listing program Interpolasi Polinomial Lagrange. Simpan pada MATLAB dengan nama lagrange.clear clc disp(' Interpolasi polinomial Lagrange ') disp(' Press Enter to continue ') pause clc %% x=input('masukkan nilai X yang akan diproses (Beri []) :'); y=input('Masukkan nilai Y yang akan diproses (Beri []):'); z=input('Masukkan nilai x yang akan dihampiri :'); n=length(x); for k=1:n L(k)=1; for j=1:n if j~=k, L(k)=L(k)*((z-x(j))/(x(k)-x(j))); end; end end disp('nilai Kardinalnya adalah :') L z disp('nilai f(z)= ') y*L'

Page | 5