%%Newtonova metoda za nultocku f-je % Numericka matematika (Marko Hajba) clc clear all; close all; % definiramo funkciju f i njenu derivaciju f = inline( 'x^3 - 5', 'x') df = @(x) 3*x^2 %deklariramo parametre kmax = 50; % maksimalni broj iteracija tol = 1.0e-6 % tolerancija greške x0 = 2 % pocetna tocka y = f(x0) % vrijednost u pocetnoj tocki k_iter = 0; % brojac iteracija x = x0; while (abs(y) > tol) % kriterij zaustavljanja x = x - f(x) / df(x) % korak metode y = f(x) % vrijednost f-je u novoizracunatom x k_iter = k_iter + 1; % povecaj brojac iteracija if k_iter > kmax % provjera za broj iteracija disp(['Metoda nije pronasla rjesenje u zadanom broju iteracija.']) break end end disp(['Za konvergenciju potrebno je ' num2str(k_iter) ' iteracija.']) fplot(f, [-5, 5]) hold on plot(x, y, 'r*')