23
TUGAS 1 METODE NUMERIK “PERBANDINGAN HASIL CONTOH SOAL DENGAN MATLAB” OLEH: PUPUT KOMALA SARI 1210953044 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS ANDALAS PADANG

Perbandingan Contoh Soal Dengan Matlab

Embed Size (px)

DESCRIPTION

matlab

Citation preview

TUGAS 1METODE NUMERIKPERBANDINGAN HASIL CONTOH SOAL DENGAN MATLAB

OLEH:PUPUT KOMALA SARI1210953044

JURUSAN TEKNIK ELEKTROFAKULTAS TEKNIKUNIVERSITAS ANDALASPADANG2015a) Metoda Grafik (Graphical Methods)Soal :

(Numerical Methods for Erigineers Fifth Edition; Steven C.Chapra & Raymond P. Canale : Problems No. 5.1 hal. 131)Tentukan akar akar nyata dari

dengan menggunakan metode grafik.Jawab : Noxf(x)

1-2,0-2,5000

2-1,9-2,0550

3-1,8-1,6200

4-1,7-1,1950

5-1,6-0,7800

6-1,5-0,3750

7-1,40,0200

8-1,30,4050

9-1,20,7800

10-1,11,1450

11-1,01,5000

Dari tabel diperoleh penyelesaian berada di antara -1.5 dan -1.4 dengan f(x) masing-masing -0.3750 dan 0.0200, sehingga x = -1.4000.

Gambar 1. Plot dengan Excel untuk LISTING PROGRAM% function akar=f(c,d,e)clcclear allclose all%disp('Metode Grafis')disp('===================')c = input('Nilai Batas Bawah : ');e = input('Nilai Batas Atas : ');d = input('Selang Perhitungan : ');%akar2=100;flag=1;index=1;for x=c:d:e;temp=-0.5*x^2+2.5*x+1.5;a(index)=temp;if abs(temp)ef_xi=5*xi^3-5*xi^2+6*xi-2 ; f_xu=5*xu^3-5*xu^2+6*xu-2;if (step==1) ; xr=(xi+xu)/2;end;f_xr=5*xr^3-5*xr^2+6*xr-2 ;if (f_xi*f_xr)0 ; xi=xr;elseakar=xr;break;end;f_xi=5*xi^3-5*xi^2+6*xi-2 ; f_xu=5*xu^3-5*xu^2+6*xu-2;xr2=(xi+xu)/2 ; e_temp=(abs(xr2-xr)/xr2)*100;xr=xr2;% disp([xr e_temp]);step=step+1;disp (['Iterasi ke ',num2str(step),',',' akar : ',num2str(xr)])end;disp (' ');disp (['Nilai Akar : ',num2str(xr)])disp (['Jumlah Iterasi : ',num2str(step)])disp (['Kesalahan : ',num2str(e_temp)])

COMMAND WINDOW DI MATLABMetode Bagi Dua===================Tebakan Batas Bawah : 0Tebakan Batas Atas : 1Tingkat Presisi : 0.1 Proses Iterasi======================Iterasi ke 1, akar : 0.5Iterasi ke 2, akar : 0.25Iterasi ke 3, akar : 0.375Iterasi ke 4, akar : 0.4375Iterasi ke 5, akar : 0.40625Iterasi ke 6, akar : 0.42188Iterasi ke 7, akar : 0.41406Iterasi ke 8, akar : 0.41797Iterasi ke 9, akar : 0.41992Iterasi ke 10, akar : 0.41895Iterasi ke 11, akar : 0.41846Iterasi ke 12, akar : 0.41821 Nilai Akar : 0.41821Jumlah Iterasi : 12Kesalahan : 0.058377

C) Metode Regula-Falsi

Tentukan akar-akar nyata dari

Dengan menggunakan metode Posisi PalsuAsumsikan nilai xi = 1 dan nilai xu=1,5 serta batas toleransi adalah 1%. (Referensi : soal-soal suku banyak.pdf )

Jawab :

Iterasi 1xi = 1xu=1,5

Maka xi baru = xrIterasi 2xi = 1,18181xu=1,5

Jadi nilai akar dari fungsi tersebut adalah 1,192 dengan kesalahan 0,854Listing program matlabclcdisp(' ');disp(' PENYELESAIAN PERSAMAAN NON LINEAR');disp(' Dengan Metode Interpolasi Linear ');disp(' (Regula Falsi)'); ('==================================================================================');disp(' ');disp(' Tuliskan polynomialnya pada f diantara tanda petik. ');disp(' Masukkan tiap koefisien dari polynomialnya pada p dalam bentuk matriks 1xn');disp(' gunakan tanda kurung siku, contoh : [1 3 2 4], lalu ENTER');disp(' Masukkan nilai pada xl sebagai batas bawah, dan xu sebagai batas atas');disp(' untuk taksiran akar; xl < xu, dan |xl|~=|xu| ');disp(' '); f = input(' f = ');p = input(' p = '); ea=inf; xrl=0;n=0;xl=input(' xl = ');xu=input(' xu = ');es=input(' es (syarat kesalahan relatif) = ');disp(' iterasi akan berhenti saat ea sudah < es');disp(' ----------------------------------------------------------------------------------'); while ea >= es disp(' ') n=n+1; a=polyval(p,xl); b=polyval(p,xu); xr=xu-((b*(xl-xu))/(a-b)); c=polyval(p,xr); d=a*c; disp([' Iterasi ke ' num2str(n)]) disp([' xl = ' num2str(xl)]) disp([' xu = ' num2str(xu)]) disp([' xr = ' num2str(xr)]) disp([' f(xl) = ' num2str(a)]) disp([' f(xu) = ' num2str(b)]) disp([' f(xr) = ' num2str(c)]) disp([' f(xl)*f(xr) = ' num2str(d)]) ea = abs(((xr-xrl)/xr)*100); disp([' ea = ' num2str(ea)]) xrl=xr; if d < 0 xu=xr; elseif d > 0 xl=xr; end end disp(' ')disp(' =======================================================================');disp([' Banyaknya iterasi yang dibutuhkan yaitu = ' num2str(n)])disp([' Akar persamaan dari polynomial ini yaitu = ' num2str(xr)])disp(' -----------------------------------------------------------------------'); yuk=polyval(p,xr);disp([' dengan error = ' num2str(es)])disp([' Nilai dari f(x) adalah = ' num2str(yuk) ' ; dengan x = ' num2str(xr)])disp(' =======================================================================');

Tampilan Command Window matlab PENYELESAIAN PERSAMAAN NON LINEAR Dengan Metode Interpolasi Linear (Regula Falsi) Tuliskan polynomialnya pada f diantara tanda petik. Masukkan tiap koefisien dari polynomialnya pada p dalam bentuk matriks 1xn gunakan tanda kurung siku, contoh : [1 3 2 4], lalu ENTER Masukkan nilai pada xl sebagai batas bawah, dan xu sebagai batas atas untuk taksiran akar; xl < xu, dan |xl|~=|xu| f = 'x' p = [1 3 -5] xl = 1 xu = 1.5 es (syarat kesalahan relatif) = 1 iterasi akan berhenti saat ea sudah < es ---------------------------------------------------------------------------------- Iterasi ke 1 xl = 1 xu = 1.5 xr = 1.1818 f(xl) = -1 f(xu) = 1.75 f(xr) = -0.057851 f(xl)*f(xr) = 0.057851 ea = 100 Iterasi ke 2 xl = 1.1818 xu = 1.5 xr = 1.192 f(xl) = -0.057851 f(xu) = 1.75 f(xr) = -0.003136 f(xl)*f(xr) = 0.00018142 ea = 0.85418 ======================================================================= Banyaknya iterasi yang dibutuhkan yaitu = 2 Akar persamaan dari polynomial ini yaitu = 1.192 ----------------------------------------------------------------------- dengan error = 1 Nilai dari f(x) adalah = -0.003136 ; dengan x = 1.192 =======================================================================