Preview:
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats
import math

######EX1
# def u(n):
#     u0=1/4
#     for i in range(1,n+1):
#         u0=5*u0-1
#         print("u(",i,")","=",u0)

#     return None
# u(100)
# def v(n):
#     v0=1/5
#     for i in range (1,n+1):
#         v0=6*v0-1
#         print("v(",i,")","=",v0)
#     return None
# v(100)
#
# ######EX2.1
# def f(x):
#     return x*math.cos(x)
# def integrale(f,a,b,n):
#     s=0
#     for i in range(1,n+1):
#         s+=((b-a)/n)*f(a+i*((b-a)/n))
#     return s
# print("integrale = ",integrale(f,0,1,10))
# def integrale_precise(f,a,b,n0,precision):
#         n=n0
#         I=integrale(f,a,b,n)

#         while True :
#                 n*=2
#                 I1=integrale(f,a,b,n)
#                 if abs(I-I1)<precision:
#                     break
#                 I=I1
#         return I
# print("integrale_precise =",integrale_precise(f,0,1,10,10**(-4)))


######EX2.2

# x=np.linspace(-4*math.pi,4*math.pi,200)
# y=np.sinc(x)
# fig=plt.figure()
# plt.plot(x,y,label="y",c="r")
# plt.plot(x,y**2,label="y²",c="g")
# plt.title("TTTTTT")
# plt.legend()
# plt.xlabel("x")
# plt.ylabel("y")
# plt.savefig("fig")
# plt.show()

#####EX3
# def habenicht(n,theta):
#     return (1+np.cos(n*theta)+np.sin(n*theta)**2)
# theta=np.linspace(0,2*math.pi,200)
# r3=habenicht(3,theta)
# r5=habenicht(5,theta)
# r7=habenicht(7,theta)
# fig=plt.figure()
# ax=fig.add_subplot(1,1,1,projection="polar")
# plt.plot(theta,r3)
# plt.plot(theta,r5)
# plt.plot(theta,r7)
# plt.show()

######EX4

data = np.loadtxt("anscombe.dat",skiprows=1)
j1,j2,j3,j4=data[:,0:2],data[:,2:4],data[:,4:6],data[:,6:8]
c=0
for i in [j1,j2,j3,j4]:
    c+=1
    print("___JEU.{}____".format(c))
    x1=np.mean(i,axis=1)
    x2=np.std(i,axis=1)
    r=scipy.stats.pearsonr(i[:,0],i[:,1])
    print(f"moyenne: ","x=",f"{x1[0]:.2f}","y=",f"{x1[1]:.2f}")
    print(f"ecart_type : ", "x=", f"{x2[0]:.2f}", "y=", f"{x2[1]:.2f}")
    print(f"Coefficient de corrélation : {r.statistic:.2f}")
    a,b,_,_,_=scipy.stats.linregress(i[:,0],i[:,1])
    print(f"régression linéaire","a=", f"{a:.2f}","b=",f"{b:.2f}")
    
    
fig,axs=plt.subplots(2,2,figsize=(8,8), sharex=True,sharey=True)


for i,j in enumerate([j1,j2,j3,j4]):
    x,y=j.T
    a,b,_,_,_=scipy.stats.linregress(x,y)
    xx=np.array([x.min(),x.max()])
    axs[i//2,i%2].plot(x,y,ls='none',marker='o')
    axs[i//2,i%2].plot(xx,a*xx+b)
    axs[i//2,i%2].set(title="Jeu#{}".format(i+1))
[ax.set(xlabel='x') for ax in axs[1]]
[ax.set(ylabel='y') for ax in axs [:,0]]
fig.tight_layout()
plt.show()
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter