Advertisement
Guest User

biseccion.m

a guest
Apr 22nd, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. function x = biseccion(func, a, b, tol)
  2. % Aproxima por el método de la bisección una raíz de la ecuación fun(x)=0
  3. disp('Método de la bisección');
  4. fun = inline(func);
  5. u = feval(fun,a);
  6. v = feval(fun,b);
  7. n = 1;
  8.  
  9. if sign(u) == sign(v)
  10. disp('Error la función debe cambiar de signo en (a,b)');
  11. return;
  12. end
  13.  
  14. while ((b - a) * 0.5 > tol)
  15. c = (b + a) / 2;
  16. w = feval(fun,c);
  17. disp(['n=', num2str(n)]);
  18. disp(['c=', num2str(c)]);
  19. disp(['f(c)=', num2str(w)]);
  20. if sign(u) == sign(w)
  21. a = c;
  22. u = w;
  23. else
  24. b = c;
  25. end
  26. n = n + 1;
  27. end
  28.  
  29. x=c;
  30.  
  31. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement