perbandingan contoh soal dengan matlab

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

Upload: tama-ardhi

Post on 16-Nov-2015

91 views

Category:

Documents


11 download

DESCRIPTION

matlab

TRANSCRIPT

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 =======================================================================