You are on page 1of 19

Primijenjena matematika

Damir Krstinic
damir.krstinic@fesb.hr
Metoda bisekcije

 Potrebno je rješiti jednadžbu f(x)=0 metodom


bisekcije (polovljenja).

 Teorijska podloga i dodatni komentari o izolaciji


korijena dani su na predavanju
Algoritam bisekcije

 Da bi koristili metodu bisekcije moramo prvo


pronaći brojeve a i b takve da f(a) i f(b)
imaju različite predznake.
 Ako je funkcija f neprekidna na intervalu
[a,b], to znači da će u tom intervalu imati bar
jednu nultočku c
Algoritam bisekcije

 Pretpostavimo da smo izolirali korijen


jednadžbe f(x)=0, tj. odredili segment [a,b]
koji sadrži jedan i samo jedan korijen c

 Računamo d=(a+b)/2 i vrijednost funkcije


f(d) u točki d.
Algoritam bisekcije

 Ukoliko je f(d)=0, pronašli smo traženi korijen


jednadžbe
 Ukoliko je sign(f(d)) = sign(f(a)),
traženi korijen nalazi se na intervalu [d,b]
 Ukoliko je sign(f(d)) = sign(f(b)),
traženi korijen nalazi se na intervalu [a,d]
 Postupak ponavljamo do željenje preciznosti
Postizanje točnosti e

 Postupak polovljenja završava pronalaženjem


točne vrijednosti korjena ili nakon određenog
broja koraka.
 Za traženu točnost e broj koraka određujemo
prema:
ln b  a   ln e
n
ln 2
Primjer 1

 Metodom polovljenja potrebno je odrediti


približnu vrijednost korijena jednadžbe
lnx+x2=0 s točnošću e=10-2
Rješenje:
– Određivanje intervala [a,b]
– Određivanje potrebnog broja koraka
– Proračun korjena
Određivanje intervala

x=0:0.1:5;
y=log(x)+x.^2;
plot(x,y)
grid
Potreban broj koraka

 Iz grafa zaključujemo da se korijen nalazi na


intervalu [0.5,1]

n=(log(1-0.5)-log(0.01))/log(2)
n = 5.6439

 Uzimamo n=6
Korištenje funkcije bis

 Pozivamo funkciju bis koja za zadane


parametre računa korijen jednadžbe

bis('log(x)+x^2',0.5,1,6)
ans = 0.65234375000000

 Napomena: funkcija bis dana je u


datoteci bis.m
Lagrangeova interpolacija

 Zadane su točke (x0,y0),(x1,y1),...,(xn,yn).


Potrebno je odrediti polinom najmanjeg stupnja
koji sadrži sve te točke.
 Teorija kaže da takav polinom postoji i stupanj
mu je manji ili jednak n.
 Ovaj polinom naziva se Lagrangeov
interpolacijski polinom
Primjer 2

 Za podatke dane u tablici potrebno je odrediti


Lagrangeov interpolacijski polinom
xi -0.5 1 2.5

yi -3.225 -1.225 1.375


Funkcija polyfit

 MATLAB funkcija polyfit računa koeficijente


Lagrangeovog interpolacijskog polinoma.

Poziv:
p=polyfit(x,y,n)
gdje su x i y jednoredne matrice u kojima su
pohranjene vrijednosti koordinata, a n stupanj
traženog polinoma
Rješenje

x=[0.5 1 2.5];
y=[-3.225 -1.225 1.375];
p=polyfit(x,y,2)
p = -1.1333 5.7000 -5.7917
Grafički prikaz

 Za grafički prikaz polinoma koristimo:


x1=0:0.1:3;
y1=polyval(p,x1);
plot(x,y,'*',x1,y1)
Funkcija polyval

 Funkcija polyval je standardna Matlab funkcija

Poziv:
y=polyval(p,x)
Računa vrijednost polinoma sa koeficijentima
zadanim jednorednom matricom p u svim
točkama od x
Primjer 3

 Aproksimirajmo funkciju y=cos(x)


Lagrangeovim interpolacionim polinomom u
točkama s apscisama 0,1,3,4,5. Ocijeni
apsolutnu pogrešku aproksimacije u točki x=2
Rješenje

x=[0 1 3 4 5];
y=cos(x);
p=polyfit(x,y,4)
p = -0.026783 0.331513 -1.079684
0.315257 1.000000
abs(polyval(p,2)-cos(2))
ans = 0.048506
Grafički prikaz

x1=-2:0.05:8;
plot(x,y,'*',x1,cos(x1),x1,polyval(p,x1))
2

-1

-2

-3

-4

-5

-6

-7

-8
-2 -1 0 1 2 3 4 5 6 7 8

You might also like