Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- from pylab import *
- def f(x):
- return (x+1)**4+4*sin(x)
- def d2f(x):
- return (12*(x+1)**(2))-4*sin(x)
- def df(x):
- return 4*cos(x)+4*(x+1)**3
- x=linspace(-3,1,100)
- plot(x, f(x), 'c-')
- grid()
- show()
- def N(x,eps,MI=20):
- if f(x)*d2f(x)<0:
- print 'Newtonova metoda ne konvergira.'
- else:
- print '0. iteracija: %s' % x
- i=1
- while i<=MI:
- if abs(df(x))<eps:
- print 'Horizontalna tangenta'
- break
- dx=f(x)/df(x)
- x=x-dx
- print '%s. iteracija: %s' % (i,x)
- if abs(dx)<eps:
- return x,i
- else:
- i=i+1
- print 'Rjesenje nije nadjeno u zadanom broju iteracija.'
- xn,i=N(-2.5,1.e-15)
- print 'Rjesenje1:'
- print 'x%s=%s' % (i,xn)
- print '\n'
- xm,j=N(0.,1.e-15)
- print 'Rjesenje2:'
- print 'x%s=%s' % (j,xm)
- print '\n'
- x=linspace(-3,1,100)
- plot(x, f(x), 'r-',xn,f(xn),'m^',xm,f(xm),'m^')
- grid()
- show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement