Advertisement
SalahAdDinYusuf

Metodo de Bisección

May 1st, 2013
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.48 KB | None | 0 0
  1. function(c,err,yc) = bisection(a, b, delta)
  2.     ya = fun1(a);
  3.     yb = fun1(b);
  4.    
  5.     if(ya * yb > 0)
  6.         break;         
  7.     endif
  8.    
  9.     max1= 1 + round( (log(b-a) - log(delta)) /  log(2));
  10.    
  11.     for k = 1:max1
  12.         c = ( a + b ) / 2;
  13.         yc = fun1(c);
  14.         if (yc == 0)
  15.             a = c;
  16.             b = c;
  17.         elseif(yb * yc > 0)
  18.             b = c;
  19.             yb = yc;
  20.         else
  21.             a = c;
  22.             ya = yc;
  23.         endif
  24.        
  25.         if(b - a < delta)
  26.             break;
  27.         endif
  28.     endfor
  29.    
  30.     c = (a + b)/2;
  31.     err = abs(b - a);
  32.     yc = fun1(c);
  33.    
  34. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement