aplikasi untuk menghitung stabilitas turap baja dengan secant method, newton rapson, dan bisection...
DESCRIPTION
Maaf persamaan turap bajanya tidak diturunkan terlebih dahulu melainkan sudah langsung diaplikasikan dalam program matlabnyaTRANSCRIPT
Pada Newton Rapson memerlukan syarat wajib yaitu fungsi f(x) harus memiliki turunan f'(x).
Sehingga syarat wajib ini dianggap sulit karena tidak semua fungsi bisa dengan mudah mencari
turunannya. Oleh karena itu muncul ide dari yaitu mencari persamaan yang ekivalen dengan
rumus turunan fungsi. Ide ini lebih dikenal dengan nama Metode Secant. Ide dari metode ini
yaitu menggunakan gradien garis yang melalui titik (x0, f(x0)) dan (x1, f(x1)). Perhatikan gambar
dibawah ini.
Persamaan garis adalah
x−x1x0−x1
=y−f (x1)
f ( x 0 )−f (x1)
Karna x=x2 maka y=0, sehingga diperoleh
x2−x1x0−x1
=0−f (x1)
f ( x 0 )−f (x1)
x2−x1=−f ( x1 ) x(x 0−x1)f ( x 0 )−f (x1)
x2=x1−f (x 1 ) x (x 0− x1)f ( x 0 )−f (x1)
Secara umum rumus tersebut dapat ditulis dengan persamaan berikut
, Xn+1=Xn−f (Xn ) x (Xn−1−Xn)f (Xn−1 )−f (Xn)
Prosedur Metode Secant :
Ambil dua titik awal, misal x0 dan x1. Ingat bahwa pengambilan titik awal tidak disyaratkan alias
pengambilan secara sebarang. Setelah itu hitung x2menggunakan rumus diatas. Kemudian pada
iterasi selanjutnya ambil x1 dan x2sebagai titik awal dan hitung x3. Kemudian ambil x2 dan
x3 sebagai titik awal dan hitung x4. Begitu seterusnya sampai iterasi yang diingankan atau
sampai mencapai error yang cukup kecil.
Pada aplikasi
function newtonraphson disp('Program Metode Newton Raphson'); disp('============================='); E=0.00000001; x0=input('Masukkan X awal :'); i=0; M=100; xb=0; disp('_______________________________________________'); disp(' i xi f(xi) eror (%)'); disp('_______________________________________________'); while (E<M) fx=2.77*x0^3-0.361*(15+x0)^3; gx=8.31*x0^2-1.083*(15+x0)^2; xb=x0-(fx/gx); M= abs((x0-xb)*100/xb); x0=xb;
i=i+1; fprintf('%3.0f %12.6f %12.6f %12.6f\n',i,xb,fx,M); end disp('------------------------------') fprintf('Akarnya Adalah = %10.8f\n',xb); fprintf('didapat pada iterasi ke = %10.8f\n',i);end
Contoh perhitungan
Persamaan dari turap tersebut adalah 2.769826195X^3-0.361033483*(15+X)^3=0X0=15.42X1=16F(X0)=F(15.42)=-7.47330092F(X1)=F(16)=589.6596027
X 2=16−589.6596027 x (15.42−16 )
(−7.47 )−589.659627=15.4275890
function newtonraphson disp('Program Metode Newton Raphson'); disp('============================='); E=0.00000001; x0=input('Masukkan X awal :'); i=0; M=100; xb=0; disp('_______________________________________________'); disp(' i xi f(xi) eror (%)'); disp('_______________________________________________'); while (E<M) fx=2.77*x0^3-0.361*(15+x0)^3; gx=8.31*x0^2-1.083*(15+x0)^2; xb=x0-(fx/gx); M= abs((x0-xb)*100/xb); x0=xb; i=i+1; fprintf('%3.0f %12.6f %12.6f %12.6f\n',i,xb,fx,M); end disp('------------------------------') fprintf('Kedalaman dinding pancangan turapnya adalah = %10.8f\n',xb); fprintf('didapat pada iterasi ke = %10.8f\n',i);end
a=input ('Masukkan a : ');b=input ('Masukkan b : ');galat=0.00000001;f=inline('2.769826195*x^3-0.361033483*(15+x)^3');i=1;
disp(' i a b fa fb x fx ');disp('_____________________________________________________________________________________ ');while ((b-a))>galat x= (a+b)/2; disp(sprintf('%3g %10.7f %10.7f %10.7f %10.7f %10.7f %10.7f',i,a,b,f(a),f(b),x,f(x))) if f(a)*f(x)<0 b=x; else a=x; end if f(a)*f(b)==0 exit end i=i+1; enddisp(sprintf('kedalaman pemancangan dindingg turapnya adalah=%11.8f',x))disp(sprintf('didapatkan setelah iterasi ke adalah=%11.8f',i-1))