Advertisement
gavrilo93

SecantRoot1

Nov 16th, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.70 KB | None | 0 0
  1. function x = koreniSecice(f, x1, x2, itMax, errMax)
  2. % Funkcija za racunanje korena funkcije f nad
  3. % intervalom x1, x2
  4. %   f funkcija ciji koren trazimo
  5. %   x1 pocetak intervala
  6. %   x2 kraj intervala
  7. %   itMax broj iteracija
  8. %   errMax maksimalna greska
  9. %   x resenje
  10. %primer
  11. % >> x = koreniSecice(@nasaFunkcija, -1, 1, 100, 0.001)
  12.     for it = 1:itMax
  13.         y1 = feval(f, x1);
  14.         y2 = feval(f, x2);
  15.        
  16.         a = (y1-y2) / (x1-x2);
  17.         b = y1 - a*x1;        
  18.         x = -b/a;
  19.        
  20.         y = feval(f, x);
  21.         if abs(y) < errMax
  22.             return;
  23.         end
  24.         if y1 * y < 0
  25.             x2 = x;
  26.         else
  27.             x1 = x;
  28.         end
  29.     end
  30. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement