Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- def f(x):
- return x**2 + x - 10
- def f_prime(x):
- return 2*x + 1
- def newt(x,n):
- for i in range(n):
- if f_prime(x) == 0:
- return x
- x = x - f(x)/f_prime(x)
- return x
- def bisection(a,b,tol):
- c = (a+b)/2.0
- while (b-a)/2.0 > tol:
- if f(c) == 0:
- return c
- elif f(a)*f(c) < 0:
- b = c
- else :
- a = c
- c = (a+b)/2.0
- return c
- def main(argv):
- if (len(sys.argv) != 6):
- sys.exit('Usage: newton.py <x> <n> <a> <b> <tol>')
- print 'Newton method: ',
- print newt(float(sys.argv[1]),int(sys.argv[2]))
- print 'Bisection method: ',
- print bisection(int(sys.argv[3]),int(sys.argv[4]),float(sys.argv[5]))
- if __name__ == "__main__":
- main(sys.argv[1:])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement