Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.39 KB | None | 0 0
  1. def BiRegRoot(Fun, a, b, ErrMax):
  2.     MAX_ITER = 1000
  3.     last_ans = (a + b) / 2
  4.     for i in range(MAX_ITER):
  5.         c = (a * Fun(b) - b * Fun(a)) / (Fun(b) - Fun(a))
  6.         a, b = b, c
  7.         ans = (a + b) / 2
  8.         err = abs((ans - last_ans) / last_ans)
  9.         if err < ErrMax:
  10.             return ans
  11.         last_ans = (a + b) / 2
  12.         print(i, " : ", ans)
  13.     return ans
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement