Anda di halaman 1dari 23

Akar-akar Bilangan dan Persamaan

KOMPUTASI NUMERIK
SLIDE #2
Akar Persamaan
Pencarian akar 1-D
Diberikan sebuah fungsi, tentukan lokasi dimana f(x)=0
Dibutuhkan:
Posisi awal x0, diharapkan dekat dengan solusi
Idealnya, titik-titik tersebut akan mengurung akar
Well-behaved function

f(x+) > 0

f(x) < 0
Apa yang salah?

Titik Tangent: Singularity: Kasus Pathological:


Sangat sulit dicari Titik-titik perkiraan Jumlah akar tak terbatas
tidak mengurung akar e.g. sin(1/x)
Metode Bisection
Diberikan dua titik x+ dan x yang mengurung sebuah akar, tentukan
xhalf = (x++ x)
dan evaluasi f(xhalf)
Jika positif, x+ xhalf lainnya x xhalf
Berhenti jika x+ dan x cukup dekat
Jika fungsi adalah kontinyu, cara ini akan berhasil mendapatkan
beberapa akar.
Bisection
Metode yang sangat bagus
Laju konvergensi:
Error akan berada pada besarnya interval [x+ x]
Interval akan menyusut separuh pada setiap iterasi
Maka, error akan menurun separuh pada setiap iterasi:
|n+1| = |n|
Hal ini disebut konvergensi linier
Satu bit akurasi pada x pada setiap iterasi
Pencarian Akar yg Lebih Cepat
Metode Fancier memberikan hasil konvergensi yang super linier
Pendekatan tipikal: memodelkan fungsi secara local oleh sesuatu yang dapat
menentukan akar secara tepat
Model tidak sesuai persis dengan fungsi, sehingga perlu iterasi
Dalam banyak kasus, metode ini lebih buruk daripada bisection
Metode Secant
Pengembangan sederhana dari bisection: interpolasi atau extrapolasi
melalui dua poin terakhir.

2
3

4
1
Metode Scant
Diberikan sebuah kurva, sebuah garis secant atau secant adalah sebuah
garis yang yang memotong kurva tersebut pada dua titik.
Metode secant adalah sebuh teknik untuk mencari akar dari fungsi
bernilai skalar f(x) dari variabel tunggal x dan tidak informasi mengenai
turunannya. Metode ini mirip dengan false position tetapi dapat
mengatasi kemungkinan tidak konvergen dengan konvergensi yang
cepat.
Secant Method
Lebih cepat daripada bisection:
|n+1| = const. |n|1.6
Lebih cepat dari linier: jumlah bit benar dikalikan 1,6
Kekurangannya: rumus diatas hanya benar jika sangat dekat dengan
akar dari fungsi yang sangat halus.
Tidak menjamin akar akan dapat dikurung
Metode False Position
Mirip dengan secant, tetapi menjamin pengurungan

2
3
4

Stabil, tetapi linier pada kasus yang buruk


1
Newton-Raphson
Best-known algorithm for getting quadratic
convergence when derivative is easy to evaluate
Another variant on the extrapolation theme

1
2
3 Slope = derivative at 1
f ( xn )
xn 1 xn
4 f ( xn )
Newton-Raphson
Begin with Taylor series
f ( xn ) want
f ( xn ) f ( xn ) f ( xn ) 2
... 0
Divide by derivative (cant be zero!) 2

f ( xn ) 2 f ( xn )
0
f ( xn ) 2 f ( xn )
2 f ( xn )
Newton 0
2 f ( xn )
f ( xn ) 2
Newton n 1 ~ n
2

2 f ( xn )
Newton-Raphson
Method fragile: can easily get confused

Good starting point critical


Newton popular for polishing off a root found approximately using a more
robust method
Newton-Raphson
Convergence
Can talk about basin of convergence:
range of x0 for which method finds a root
Can be extremely complex:
heres an example
in 2-D with 4 roots
Popular Example of Newton:
Square Root
Let f(x) = x2 a: zero of this is square root of a
f(x) = 2x, so Newton iteration is

xn a
x
2
xn 1 xn 1
2 n a
xn
Divide and average method 2 xn
Reciprocal via Newton
Division is slowest of basic operations
On some computers, hardware divide not available (!): simulate in
software

a
b a * b1
f ( x) 1x b 0
f ( x) x12
Need only subtract and multiply
b
1
xn 1 xn 1 xn 2 bxn
x
x2
Rootfinding in >1D
Behavior can be complex: e.g. in 2D

want
f ( x, y ) 0
want
g ( x, y ) 0
Rootfinding in >1D
Cant bracket and bisect

Result: few general methods


Newton in Higher Dimensions
Start with
want
f ( x, y ) 0
want
g ( x, y ) 0
Write as vector-valued function

f ( x, y )
f ( x n )

g ( x, y )
Newton in Higher Dimensions
Expand in terms of Taylor series
want
f ( x n ) f ( x n ) f ( x n ) ... 0
f is a Jacobian

f ( x n ) J f
x
f
y

Newton in Higher Dimensions
Solve for

J 1 ( x n ) f ( x n )
Requires matrix inversion (well see this later)
Often fragile, must be careful
Keep track of whether error decreases
If not, try a smaller step in direction

Anda mungkin juga menyukai