from math import sin
#f(x) = 2sinx - x**2/10
xl=[]
xu=[]
xl.append(0)
xu.append(4)
d=[]
x1=[]
x2=[]
m=[]
n=[]
for i in range(0,10):
d.append(((5)**(0.5) - 1)*(xu[i-1] - xl[i-1])/2)
x1.append(xl[i-1] + d[i-1])
x2.append(xu[i-1] - d[i-1])
m.append(2*sin(x1[i-1]) - (x1[i-1]**2)/10)
n.append(2*sin(x2[i-1]) - (x2[i-1]**2)/10)
if n[i-1] > m[i-1]:
xu.append(x1[(i-1)])
xl.append(xl[(i-1)])
else:
xl.append(x2[i-1])
xu.append(xu[i-1])
print "xl =",xl
print "\nx2 =",x2
print "\nx1 =",x1
print "\nxu =",xu
from math import sin
#f(x) = 2sinx - x**2/10
x0= [0]#
x1= [1]
x2= [4]#
m=[];n=[];r=[];x3=[];s=[]
for i in range(0,6):
m.append(2*sin(x0[(i)]) - (x0[(i)]**2)/10)
n.append(2*sin(x1[(i)]) - (x1[(i)]**2)/10)
r.append(2*sin(x2[(i)]) - (x2[(i)]**2)/10)
x3.append(((m[(i)]*(x1[(i)]** 2 -x2[(i)] ** 2)) + (n[(i)]*(x2[(i)] ** 2 -x0[(i)] ** 2)) + (r[(i)]*(x0[(i)] ** 2 -x1[(i)] ** 2)))/((2*m[(i)]*(x1[(i)] -x2[(i)]))+(2*n[(i)]*(x2[(i)] -x0[(i)]))+(2*r[(i)]*(x0[(i)] -x1[(i)]))))
s.append(2*sin(x3[(i)]) - (x3[(i)]**2)/10)
if x1[(i) ]> x3[(i) ]:
if n[(i)]<s[(i)]:
x0.append(x0[(i)])
x1.append(x3[(i)])
x2.append(x1[(i)])
else:
x0.append(x1[(i)])
x1.append(x3[(i)])
x2.append(x2[(i)])
else:
if n[(i)]>s[(i)]:
x0.append(x0[(i)])
x1.append(x3[(i)])
x2.appedn(x1[(i)])
else:
x0.append(x1[(i)])
x1.append(x3[(i)])
x2.append(x2[(i)])
print "x0 = ",x0
print "\nx1 = ",x1
print "\nx2 = ",x2
from math import sin, cos
#f(x) = 2sinx - x**2/10
x= [.5]
#f'(x) = 2cosx - x/5
#f"(x) = -2sinx - 1/5
for i in range(1,10):
x.append(x[(i-1)] - (2*cos(x[(i-1)]) - x[(i-1)]/5)/(-2*sin(x[(i-1)]) - 1/5))
print "x = ",x