Primijenjena matematika Damir Krstinic damir krstinicfesb hr Metoda
Primijenjena matematika Damir Krstinic damir. krstinic@fesb. hr
Metoda bisekcije l Potrebno je rješiti jednadžbu f(x)=0 metodom bisekcije (polovljenja). l Teorijska podloga i dodatni komentari o izolaciji korijena dani su na predavanju
Algoritam bisekcije l l 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 l Pretpostavimo da smo izolirali korijen jednadžbe f(x)=0, tj. odredili segment [a, b] koji sadrži jedan i samo jedan korijen c l Računamo d=(a+b)/2 i vrijednost funkcije f(d) u točki d.
Algoritam bisekcije l l 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 l l 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:
Primjer 1 l Metodom polovljenja potrebno je odrediti približnu vrijednost korijena jednadžbe lnx+x 2=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 l 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 l Uzimamo n=6
Korištenje funkcije bis l Pozivamo funkciju bis koja za zadane parametre računa korijen jednadžbe bis('log(x)+x^2', 0. 5, 1, 6) ans = 0. 65234375000000 l Napomena: funkcija bis dana je u datoteci bis. m
Lagrangeova interpolacija l l l Zadane su točke (x 0, y 0), (x 1, y 1), . . . , (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 l 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 l 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: x 1=0: 0. 1: 3; y 1=polyval(p, x 1); plot(x, y, '*', x 1, y 1) l
Funkcija polyval l 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 l 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 x 1=-2: 0. 05: 8; plot(x, y, '*', x 1, cos(x 1), x 1, polyval(p, x 1))
- Slides: 19