Entry 6013
Newton Raphson Methods
Submitted by Novalio Daratha
on Aug. 13, 2010 at 8:12 a.m.
Language: Python. Code size: 1.1 KB.
from __future__ import division from sympy import * __author__="admin" __date__ ="$Aug 13, 2010 9:20:13 AM$" if __name__ == "__main__": print "This a script that shows how to use sympy to implement Newton-Raphson method"; print "=============================================================================" x,y,z=symbols('xyz') def f(x): # result=x**3 -10*x**2 + 5 result= x**4-6.4*x**3 + 6.45*x**2 + 20.538*x-31.752 return result def df(x): result=diff(f(x),x) return result def new(xold): result=xold -2* f(x).subs(x,xold)/df(x).subs(x,xold) return result #def new(x): # result=x - f(x)/df(x) # return result print 'Finding the root of the following function using NR Methods' print "f(x)=",f(x),"= 0" print # Starting NR method # initial guess y=-7 error=1 niter=0 y=Real(1) err=1 #print"Iteration\t y" while Real(err)>1e-9: yold=y y=N(new(x).subs(x,y)) # N(expression) convert expression into numerical values err=abs(y-yold) niter=niter+1 # print niter,'\t',type(y) print 'The root is',Real(y),'====> f(',y,')=', f(y) print 'Error =',Real(err) print 'Number of iterations:',niter
This snippet took 0.01 seconds to highlight.
Back to the Entry List or Home.