A ver si alguien me ayuda a desifrar donde este codigo tiene un error, es un buen reto para ustedes, que saben de programacion, y asi me hechan una mano!!!
saludos!!!
codigo fuente:
def bisection(fun, lower, upper, error_s = 0.01):
xl = lower
xu = upper
xrNew = (xl+xu)/2
error_a = 100
## c = 1
while fun(xrNew) != 0 and error_a > error_s:
## print 'c= ', c, '| xl= ', xl, '| xu= ', xu, '| xr= ', xrNew, '| e_a= ', error_a
## c+=1
if fun(xrNew) < 0:
xu = xrNew
else:
xl = xrNew
xrOld = xrNew
xrNew = (xl+xu)/2
if xrNew != 0:
error_a = abs((xrNew - xrOld)/xrNew) * 100
## print 'c= ', c, '| xl= ', xl, '| xu= ', xu, '| xr= ', xrNew, '| e_a= ', error_a
return xrNew