Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Solving Non-Linear Equations Using Bisection, Regula Falsi, and Newton-Raphson Methods, Assignments of Computational Physics

A practical guide on solving non-linear equations using three different methods: bisection, regula falsi (false position), and newton-raphson. Matlab code examples for each method, along with explanations of the algorithms and their convergence properties. Additionally, the document provides a problem for students to practice implementing the methods and interpreting the results.

Typology: Assignments

2021/2022

Uploaded on 03/21/2024

dhiyandra-fresha-salsabila
dhiyandra-fresha-salsabila ๐Ÿ‡ฎ๐Ÿ‡ฉ

1 document

1 / 31

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
BUKU PANDUAN PRAKTIKUM
FISIKA KOMPUTASI
DISUSUN OLEH:
VINCENCIUS GUNAWAN
JATMIKO ENDRO SUSENO
PANDJI TRIADYAKSA
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS DIPONEGORO
2019
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f

Partial preview of the text

Download Solving Non-Linear Equations Using Bisection, Regula Falsi, and Newton-Raphson Methods and more Assignments Computational Physics in PDF only on Docsity!

BUKU PANDUAN PRAKTIKUM

FISIKA KOMPUTASI DISUSUN OLEH: VINCENCIUS GUNAWAN JATMIKO ENDRO SUSENO PANDJI TRIADYAKSA DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS DIPONEGORO

DAFTAR ISI

  • SAMPUL
  • DAFTAR ISI
  • MODUL 1: PERSAMAAN NON LINIER
  • MODUL 2: PERSAMAAN LINIER
  • MODUL 3: INTERPOLASI
  • MODUL 4: TURUNAN/DERIVATIF
  • MODUL 5: PERSAMAAN DIFERENSIAL BIASA (PDB) ORDE
  • MODUL 6: PERSAMAAN DIFERENSIAL BIASA (PDB) ORDE

Kemudian apabila memenuhi syarat diatas (f(a).f(b) < 0) serta jika perkalian f(x) dan f(a) kurang dari nol (f(x).f(a) < 0) maka nilai b diganti oleh nilai x yang merupakan nilai tengah dari interval a dan b (b = x). Bila tidak, maka a = x. Rumus nilai tengah tersebut adalah : x = a + b 2

Penerapan kondisi tersebut yang berulang-ulang selalu menghasilkan taksiran yang lebih dekat kepada nilai sejati (konvergen).

2. Metode Regula Falsi Metode Regula Falsi merupakan pengembangan dari metode Bisection dalam mencari akar-akar persamaan non linier dengan memanfaatkan kemiringan dan selisih tinggi dari dua titik batas range. Gambar 2. Metode Regula Falsi Apabila titik f(a) dan f(b) pada grafik ditarik garis lurus akan memotong garis pada sumbu x. Titik perpotongan tersebut adalah nilai x yang merupakan solusi dari persamaan non linier dengan metoda regula falsi. Cara perhitungan untuk mencari x menggunakan rumus segitiga dengan rumus: (2) x y b a f(b) f(x) f(a) . x

x =

f ( b ). a โˆ’ f ( a ). b

f ( b )โˆ’ f ( a )

xi+1 (^) xi f(xi) f(x) f(xi)- Kemiringan = f`(xi) x xi โ€“ xi+ Langkah berikutnya adalah seperti pada metode Bisection yaitu apabila perkalian f(x) dan f(a) kurang dari nol (f(x).f(a) < 0) maka nilai b diganti oleh nilai x yang merupakan nilai tengah dari interval a dan b (b = x). Bila tidak, maka a = x. Penerapan kondisi tersebut yang berulang-ulang selalu menghasilkan taksiran yang lebih dekat kepada nilai sejati (konvergen).

3. Metode Newton Rapson Metode Newton Rapson atau yang lebih dikenal sebagai metode Newton merupakan metode yang paling luas penggunaannya karena mempunyai konvergensi yang cepat. Jika terkaan awal xi maka sebuah garis singgung (tangent) dapat ditarik dari titik [xi, f(xi)] memotong sumbu xi yang kemudian menjadi taksiran akar di xi+1. Berdasarkan taksiran geometris gambar diatas, turunan pertama di xi setara dengan kemiringan : ( 3 ) yang dapat disusun kembali menjadi : ( 4 ) 4. Metode Secant Untuk beberapa fungsi tertentu yang turunannya cukup sulit dievaluasi, maka untuk mencari akarnya bisa menggunakan metode secant. Pada metode Secant, suatu turunan dihampiri dengan beda hingga terbagi, yang dapat diberikan dalam persamaan berikut : ( 5 ) yang kemudian disubstitusikan ke dalam persamaan (4) sehingga diperoleh persamaan iterative berikut:

B. Tujuan : Setelah mengikuti praktikum ini, peserta diharapkan dapat:

  1. Memahami dan menguasai bahasa pemrograman matlab
  2. Memahami dan menguasai metode Bisection dan Regula Falsi untuk mencari akar suatu persamaan C. Petunjuk Praktikum : Pada persamaan berikut : f(x)=x e-x^ + 1 Buatlah program untuk menghitung akar persamaan berikut:
  3. Metode Bisection Program clear clc a=-1; b=0; n=1; Er(1)=100;x0=0; fa=aexp(-a)+1; fb=bexp(-b)+1; if fafb > 0 %syarat agar bisa ada solusi : fafb< fprintf('fx tidak memiliki solusi') else %artinya fafb< while Er(n) > 10 n=n+1; x(n)=(a+b)/2; fx=x(n)exp(-x(n))+1; fa=aexp(-a)+1; if fxfa < 0 b=x(n); else a=x(n); end if n> Er(n)=abs(x(n)-x0)*100/abs(x(n)); end x0=x(n); end end x Er

figure plot (1:n,Er,'r-'); title('grafik Eror(Er)'); xlabel('Iterasi n'); ylabel('Er'); figure plot (1:n,x,'g--'); title('grafik solusi persamaan non linier (x)'); xlabel('Iterasi n'); ylabel('x');

  1. Metode Newton rapson Program clear clc x(1)=0; Er(1)=100; imax=10; tol=1; for k=1:imax f=x(k)exp(-x(k))+1; %persamaan soal (f) df=exp(-x(k))-exp(-x(k))x(k) %diferensial dari f x(k+1)=x(k)-f/df; Er(k)=abs(x(k+1)-x(k)/x(k)); if (Er(k)<tol),break,end end x Er figure plot (1:k,Er,'r-'); title('grafik Eror(Er)'); xlabel('Iterasi n'); ylabel('Er'); figure plot (1:k+1,x,'g--'); title('grafik solusi persamaan non linier (x)'); xlabel('Iterasi n'); ylabel('x');

MODUL II

PERSAMAAN LINIER

A. Teori 1a. Eliminasi Gauss Tinjau suatu himpunan yang terdiri dari sejumlah n persamaan linear : a 11 x 1 + a 12 x 2 + ... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + ... + a 2n x n = b 2 (1) a n1 x 1 + a n2 x 2 + ... + a nn x n = bn. Persamaan tersebut dapat dituliskan dalam bentuk persamaan matriks AX = B (^) (2) Dengan A menyatakan n๏‚ดn matriks koefisien, sementara X dan B berupa 1๏‚ดn matriks kolom Contoh: Persamaan-persamaan linear

x 1 + x 2 + x 3 = 1

x 1 + 2 x 2 + 4 x 3 =โˆ’ 1

x 1 + 3 x 2 + 9 x 3 = 1

yang dapat dibawa ke dalam bentuk matriks: (

1 3 9 )(^ x 1 x 2 x 3 )

(

1 )^

. (4) Persamaan-persamaan linear tersebut dapat diselesaikan dengan mudah apabila matriks koefisien A dapat dibawa ke dalam bentuk matriks triangular ( a 11 a 12 a 13 0 a 22 a 23 0 0 a 13 )^ . (5) Suatu metode untuk membawa matriks umum ke bentuk triangular adalah menggunakan metode eliminasi Gauss yang akan dijelaskan sebagai berikut: Ambil contoh persamaan matriks AX = B pada pers. (3) (

)( x 1 x 2 x 3 )

(

) (6)

Selanjutnya, augmented persamaan matriks tersebut dapat dituliskan sebagai [ A | B ]= [ 1 1 1 1 1 2 โˆ’ 1 โˆ’ 1 1 3 9 1 ]^ (7) dengan kolom ke-4 (atau N+1) merupakan matriks B. Sebagai contoh, digunakan baris pertama sebagai pivot. Perhatikan kolom pertama. Tampak bahwa ratio baris ke-2 terhadap baris pertama, m 21 = a 21 a 11

. Untuk ratio baris ke-3 terhadap baris ke-1, m 31 = a 31 a 11

Langkah selanjutnya adalah komponen baris kedua dikurangi dengan ( m 21 ๏‚ด komponen baris pertama ). Juga, komponen baris ketiga dikurangi dengan (m 31 ๏‚ด komponen baris pertama. Diperoleh matriks baru dalam bentuk [ A | B ]= [ 1 1 1 1 0 1 โˆ’ 2 โˆ’ 2 0 2 10 2 ] (8) Berikutnya, dengan menggunakan baris kedua pada matriks persamaan (8) sebagai pivot, ditinjau kolom ke-2. Tampak bahwa ratio baris ke 3 terhadap baris ke-2 adalah,

m 32 =

a 32

a 22

. Kemudian komponen baris ketiga dikurangi dengan (m 32 ๏‚ด komponen baris kedua) sehingga diperoleh bentuk matriks [ 1 1 1 1 0 1 โˆ’ 2 โˆ’ 2 0 0 10 6 ]^ (9) yang dapat dituliskan sebagai persamaan matriks triangular UX = Y sebagai [

0 0 10 ][^ x 1 x 2 x 3 ]

[

6 ]^ (10)

Demikian, selanjutnya x 1 dapat dengan mudah diperoleh.

2. Metode Gauss-Seidel Metode Gauss-Seidel merupakan metode untuk menyelesesaikan solusi dari beberapa persamaan. Metode ini merupakan metode iterasi yang paling umum digunakan. Untuk himpunan n persamaan : a 11 x 1 + a 12 x 2 + ... + a 1n x n = c 1 a 21 x 1 + a 22 x 2 + ... + a 2n x n = c 2 a n1 x 1 + a n2 x 2 + ... + a nn x n = c n Jika elemen-elemen diagonal tidak nol maka dapat diselesaikan dengan : Penyelesaian iterasi dimulai dengan memberikan tebakan awal pada harga-harga x, tebakan yang paling mudah adalah dengan memberikan tebakan pada masing-masing variabel x 1 sampai xn semuanya dengan nol. Kemudian nilai baru ini disubstitusi ke persamaan berikutnya bersama dengan tebakan-tebakan nol sebelumnya. Setelah seluruh harga xn didapat, dicari kekonvergenan nilai tebakan dengan memakai criteria kesalahan relatif : untuk semua i, dimana j dan j-1 adalah iterasi-iterasi yang sekarang dan sebelumnya. Contoh penyelesaian dengan metode gauss-seidel dari persamaan: 7 x 1 โ€“ 0,1 x 2 + 5 x 3 = 26 6 x 1 โ€“ 12 x 2 + 0,8 x 3 = - 0,9 x 1 โ€“ 0,4 x 2 + 14 x 3 = 84 yaitu untuk masing-masing persamaan disusun ulang

Iterasi pertama Dengan tebakan awal nol untuk x 2 dan x 3 pada persamaan (17) maka didapatkan x 1 hasil x 1 diatas dengan tebakan x 3 = 0 disubs ke persamaan (18) hasil x 1 dan x 2 disubs ke persamaan (19) Iterasi kedua Mensubstitusi harga-harga x 1 ,x 2 dan x 3 dari iterasi sebelumnya Kesalahan = 1068,82% Kesalahan = 140,71% Kesalahan = 5,19% Iterasi Ketiga x 1 = -0,582 Kesalahan = 34,10% x 2 = -1,208 Kesalahan = 1,72% x 3 = 6,002 Kesalahan = 0,20% dan seterusnya sampai tercapai pada harga keseksamaan yang diinginkan B. Tujuan Setelah mengikuti praktikum ini, peserta diharapkan dapat:

  1. Menentukan solusi dari suatu persamaan dengan menentukan variable-variabelnya menggunakan metode eliminasi gauss dan gauss-seidel.
  2. Mengetahui ketelitian penghitungan tersebut dengan cara perhitungan analitik. C. Petunjuk Praktikum
  1. Pada persamaan berikut : 7 x 1 โ€“ 0,1 x 2 + 5 x 3 = 26 6 x 1 โ€“ 12 x 2 + 0,8 x 3 = - 0,9 x 1 โ€“ 0,4 x 2 + 14 x 3 = 84 Buatlah program untuk menyelesaikannya dengan metode gauss-seidel berikut: a = [7,-0.1,5;6,-12,0.8;0.9,-0.4,14]; b =[0.9;-0.4;14]; henti=false;i=0;n=3;tol=0.01; x = zeros (n, 1) while henti==false i=i+1; for i=1:n xb=b(i); for j=1:n if i~=j xb=xb-a(i,j)*x(j); end end xb=xb/a(i,i); if abs(xb-x(i))<tol henti=true; end x(i)=xb; end end x D. Tugas
  2. Gabungkanlah coding Eliminasi Gauss dengan coding untuk back propagation agar diperoleh coding untuk menyelesaikan system persamaan linear
  3. Ubah (edit) program diatas untuk penyelesaian pada persamaan linear: 2x 1 โ€“ 14 x 2 + 0,6 x 3 = - 0,6 x 1 โ€“ 1,2 x 2 + 34 x 3 = 27 9 x 1 โ€“ 2,1 x 2 + 7 x 3 = 46 menggunakan metode eliminasi gauss dan gauss-seidel.
  4. Buatlah laporan program

x0 (^) x x fa fb fx A

E

D

B C

MODUL III

INTERPOLASI

A. Teori

1. Interpolasi orde 1 (Linier) Interpolasi orde 1 atau Linier mendekati suatu fungsi f(x) dengan persamaan garis lurus. Tinjau dua titik pasangan data {x 0 , x 1 ; f(x 0 ), f(x 1 ) }. Dari gambar sebelah segitiga ABE dan ACD memberikan hubungan : atau atau yang dapat ditulis dalam bentuk polynomial P 1 (x) ๏‚บ f(x)=A 0 + A 1 x dengan A 0 = A 1 = 2. Polinomial orde N Polinomial orde N, PN(x), dapat dicari secara unik melalui (N+1) titik data. Apabila data yang diperoleh melalui N titik data, dapat disusun fungsi penginterpolasi polinomial

A1=(fx1-fx0)/(x1-x0) x=14; fx=A0+(A1*x)

  1. Polinomial orde 2 Contoh : Tinjau tiga pasangan berikut : Ti (oC) 94 205 371 ๏ฒ i (kg/m^3 ) 929 902 860 Berapa harga ๏ฒ pada T = 251 oC? Dengan menggunakan fungsi penginterpolasi Lagrange untuk N=2, maka ๏ฒ(T) = Untuk T = 251 oC, maka ๏ฒ(251) = 890,5 kg/m^3 N= 2; t(1)=94; t(2)=205; t(3)=371; r(1)=929; r(2)=902; r(3)=860; tx=251; rx=0; for i=1:N+ r1=1; r2=1; for j=1:N+ if i~=j r1=r1(tx-t(j)); r2=r2(t(i)-t(j)); end end rx=rx+r1*r(i)/r2; end

rx D. Tugas

  1. Analisa hasil program diatas. (dengan membuat grafik hubungan x dan f ( x ))
  2. Ubah (edit) program diatas untuk menentukan harga f ( x ) a. Polinomial orde 1 : pada x = 13 dan x = 15 b. Polinomial orde 2 : menentukan harga rho pada T = 115 dan T = 303oC
  3. Ubah (edit) program diatas sehingga a. Polinomial orde 1 : x 2 10 f ( x ) 120 152 Tentukan f ( x ) pada x = 4 dan x = 7 b. Polinomial orde 2 : x 33 72 121 F(x) 9 134 450 Tentukan f(x) pada x = 44 dan x = 88
  4. Buatlah laporan praktikumnya.