TD4
Tue Dec 03 2024 23:52:40 GMT+0000 (Coordinated Universal Time)
Saved by @Radhwen_hajri
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()



Comments