Laporan Praktikum 4 Analisis Numerik Syarif Abdullah (G551150381)∗†
Matematika Terapan Departemen Matematika FMIPA IPB E-mail: syarif
[email protected] 17 Maret 2016
INTEGRASI NUMERIK METODE TRAPESIUM
Deskripsi: Mengambil 1 soal latihan dari buku Numerical Mathematics and Computing, Sixth edition Ward Cheney, David Kincaid, Tuliskan dengan LaTex dan modifikasi menjadi soal untuk dikerjakan dalam Scilab. Soal Computer Problem 5.2 Number 2.b : Gunakan code komputer (pseudocode) dengan mengunakan Metode Trapesium pada fungsi di bawah ini. Bandingkan dengan hasil sebenarnya atau pada kunci jawaban buku: 1 0 ∗
ex dx
Catatan: Kunci Jawaban = 1.718282
Kajian Teori: Integrasi Numerik Integrasi numerik dilakukan jika ditemui salah satu dari dua kondisi sebagai berikut: ∗ http † File
://syarif abdullah.student.ipb.ac.id/ dibuat dengan LYX Program
1
• Perhitungan integral secara analitik sulit atau bahkan mustahil untuk dilakukan. • Integrasi terhadap sekumpulan data diskrit. Integrasi Numerik dari Suatu Fungsi Integrasi numerik dari suatu fungsi real f (x) dengan batas bawah a dan batas atas b dapat dihitung secara numerik dengan fungsi intg atau integrate. Sintak dari fungsi intg adalah sebagai berikut: [Q, err] = intg(a, b, f, ea, er) Deskripsi argumen input dan output yang terdapat pada fungsi intg adalah sebagai berikut: • a dan b adalah batas bawah dan batas atas. • f adalah fungsi real f (x) • ea adalah nilai galat absolut untuk hasil perhitungan integral, ea bersifat opsional dan mempunyai nilai default 1014 . • er adalah nilai galat relatif untuk hasil perhitungan integral, er bersifat opsional dan mempunyai nilai default 10−8 . • Q adalah hasil integrasi numerik • err adalah estimasi galat yang dihasilkan pada perhitungan integrasi. Sintak dari fungsi integrate adalah sebagai berikut: Q = integrate(expr, v, a, b, ea, er) Deskripsi dari argumen-argumen input dan output yang terdapat pada fungsi integrate adalah sebagai berikut: • expr adalah sebuah obyek string yang menyatakan ekspresi fungsi real f (x) • v adalah variabel yang diintegrasikan • a dan b adalah batas bawah dan batas atas. • ea adalah nilai galat absolut untuk hasil perhitungan integral, ea bersifat opsional dan mempunyai nilai default 1014 . 2
• er adalah nilai galat relatif untuk hasil perhitungan integral, er bersifat opsional dan mempunyai nilai default 10−8 . • Q adalah hasil integrasi numerik
Jawab: Cara 1: Penyelesaian dengan Built in Function: function y=f(x) y = exp(x) endfunction I=intg(0,1,f ) I=integrate(’exp(x)’,’x’,0,1) x=[0:0.001:1]; inttrap(x,exp(x)) –>//Hitung Integral dengan built in function Scilab “intg” dan “integrate” –>function y = f(x) –>y = exp(x) –>endfunction –>I=intg(0,1,f ) I= 1.7182818 –>I=integrate(’exp(x)’,’x’,0,1) I= 1.7182818
3
–>//Hitung Integral Trapezzoid dengan built in function Scilab ”inttrap” –>x=[0:0.1:1]; –>inttrap(x,exp(x)) ans = 1.7197135 –>x=[0:0.01:1]; –>inttrap(x,exp(x)) ans = 1.7182961 –>x=[0:0.001:1]; –>inttrap(x,exp(x)) ans = 1.718282
4
Cara 2 Misalkan a dan b adalah batas bawah dan batas atas integral, maka nilai integral dari fungsi f (x) pada selang tersebut dengan menggunakan metode integrasi trapezoidal dapat dihitung dengan formula sebagai berikut: I = (b−a) 2n [f (x0 ) + Pn−1 f (x ) + f (x )] dimana n adalah jumlah segmen. Statemen-statemen i n i=1 Scilab untuk menghitung nilai integral I adalah sebagai berikut: Penyelesaian dengan membuat Function di Scinote Versi 1: //Integral Trapezoid pada fungsi exp(x) //Syarif Abdullah (G551150381) //Praktikum Analisis Numerik //a= batas bawah, misalkan 0 //b=batas atas, misalkan 1
5
//n=banyaknya segmen, misalkan 1000 function y=fx(x) y=exp(x) endfunction function I=inttrapezoid(a, b, n) n1=n+1; x=linspace(a,b,n1); yxi=fx(x); I=(b-a)/(2*n)*(yxi(1)+yxi(n1)+2*sum(yxi(2:n))) endfunction Apabila dijalankan, maka didapatkan: –>I=inttrapezoid(0,1,1000) I= 1.718282 Jadi nilai aproksimasi untuk integral I adalah 1.718282.
6
Penyelesaian dengan membuat Function di Scinote Versi 2: //Integral Trapezoid pada fungsi exp(x) //Syarif Abdullah (G551150381) //Praktikum Analisis Numerik function [f]=y(x) f= exp(x) endfunction function Trapezoidayis() clc funcprot(0) disp(”Praktikum Analisis Numerik”) disp(”Syarif Abdullah (G551150381)”) disp(”Input data untuk integral fungsi y=exp(x)”) a=input(” Masukkan Batas Bawah : ”) b=input(” Masukkan Batas Atas : ”) n=input(” Masukkan Banyak Interval : ”) 7
h=(b-a)/n sum= y(a)+y(b) for i=1:n-1 sum=sum+ 2*y(a+i*h) end printf(” Nilai Approksimasi Integral Metode Trapezoid :%f”,sum*h/2) endfunction // ketik ”Trapezoidayis” untuk memulai Tampilannya adalah sebagai berikut: Praktikum Analisis Numerik Syarif Abdullah (G551150381) Input data untuk integral fungsi y=exp(x) Masukkan Batas Bawah : 0 Masukkan Batas Atas : 1 Masukkan Banyak Interval : 1000 Nilai Approksimasi Integral Metode Trapezoid adalah 1.718282
8
9
Menggambar Grafik Metode Integrasi Trapezium //plotting approksimasi Metode Integral Trapezoid //Syarif Abdullah (G551150381) //Praktikum Analisis Numerik function plottrap(x, f ) [n,m]=size(x);
// Ukuran pada vektor x
y=f(x);
// Data untuk Trapezzoid Fitting
xx=[x(1):(x(m)-x(1))/100:x(m)] yy=f(xx); xmin=min(xx);
// Membangkitkan 100 titik xx pada x
// Membangkitkan y=f(xs) untuk xx // Nilai minimum dari xx
xmax=max(xx);
// Nilai maximum dari xx
ymin=min(yy);
// Nilai minimum dari yy
ymax=max(yy);
// Nilai maximum dari yy
// Merubah ymin ke nol jika ymin lebih besar dari nol if ymin > 0 then ymin = 0 end // Menggambar Plot dari fungsi dan Bentuk Trapezoid xset(’window’,1); // Plot kurva y=f(x) plot2d1(’onn’,xx’,yy’,[1],’011’,’y’,[xmin ymin xmax ymax]); // Plot Trapezoid atas dari fungsi y=f(x) xpoly(x’,y’,’lines’); // Plot garis vertikal untuk y=f(x) plot2d3(’onn’,x’,y’,[1],’000’); // Plot Judul dan Label xtitle(’Integral Trapezoid’,’x’,’y’); // Menggambar sumbu-x jika ymin negatif if ymin < 0 then xpoly([xmin,xmax],[0,0],’lines’); end endfunction // Misalkan :[batas bawah:jarak:batas atas] // x=[0:0.1:1]; // deff(’[y]=f(x)’,’y=exp(x)’); 10
// plottrap(x,f ) // xx=[0:%pi/10:%pi]; // deff(’[y]=f(x)’,’y=sin(x)+sin(2*x)’); // plottrap(x,f )
11
Grafik Aproksimasi Integrasi Metode Trapezium Ketika Subinterval [0 : 0.1 : 1] adalah sebagai berikut:
12
Grafik Aproksimasi Integrasi Metode Trapezium Ketika Subinterval [0 : 0.01 : 1] adalah sebagai berikut:
Grafik Aproksimasi Integrasi Metode Trapezium Ketika Subinterval [0 : 0.001 : 1] adalah sebagai berikut:
13
Referensi : 1. Arief, Saifuddin. 2015. Pengenalan Scilab. 2. Atkinson, K. E. 2013. Scilab Textbook Companion for An Introduction To Numerical Analysis. 3. Cheney, Ward and Kincaid, David. 2008. Numerical Mathematics and Computing, Sixth edition. Thomson Brooks: United States of America. 4. Gilberto E. Urroz. 2001. Numerical Integration Using Scilab. Info Clearinghouse.com 5. Jacques, I and Judd, C. 2013. Scilab Textbook Companion for Numerical Analysis I. 6. Munir, Rinaldi. 2013. Metode Numerik. Informatika: Bandung. 7. Periyasamy CNME Tutorial 6
Profile: Nama : Syarif Abdullah Tmpt/Tgl Lahir : Gresik, 26 Januari 1986 Alamat : Leran Manyar Gresik Jawa Timur NRP : G551150381 Jurusan : Matematika Terapan Departement : Matematika Fakultas : Matematika dan Ilmu Pengetahuan Alam Universitas : Institut Pertanian Bogor Hobby : Baca buku dan utek-utek soal E-mail : syarif
[email protected] Web/Blog : http ://syarif abdullah.student.ipb.ac.id/
14