import numpy as np
import matplotlib.pyplot as plt
def f(x):
return np.cos(x)
u=[1.4]
n=10
for i in range(0,n):
u.append(f(u[i]))
print('u[',i,']=',u[i])
x=np.arange(0,np.pi/2,0.01)
plt.plot(x, f(x), 'b-', x, x, 'r-')
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
for i in range(0,n-1):
plt.plot([u[i], u[i+1]], [u[i+1], u[i+1]], 'k-')
plt.plot([u[i+1], u[i+1]], [u[i+1], u[i+2]], 'k-')
plt.plot([u[i], u[i]], [0, u[i+1]], 'k--')
plt.plot([u[n-1], u[n-1]], [0, u[n]], 'k--')
plt.annotate('$u_0$', xy=(u[0], 0), xytext=(u[0]+.1, .1),
arrowprops=dict(arrowstyle="->",
connectionstyle="arc3")
)
plt.annotate('$u_1$', xy=(u[1], 0), xytext=(u[1]+.1, .1),
arrowprops=dict(arrowstyle="->",
connectionstyle="arc3")
)
plt.title('Etude de $u_{n+1}=f(u_n)$')
plt.show()