TD d'algèbre linéaire
TD : TD d'algèbre linéaire. Recherche parmi 300 000+ dissertationsPar Adib Belmahi • 4 Février 2020 • TD • 691 Mots (3 Pages) • 463 Vues
#I. Calcul de somme et de moyenne
def somme(L):
somme=0
for i in range (len(L)):
somme=somme+L[i]
return(somme)
def moyenne (L):
somme=0
for i in range (len(L)):
somme=somme+L[i]
return(somme/len(L))
def moyenne10(L):
somme=0
compteur=0
for i in range (len(L)):
if L[i]>=10:
somme=somme+L[i]
compteur=compteur+1
return(somme/compteur)
#II. Calcul approché d'intégrale
#Exercice 1
def somme1(f,a,b,n):
somme=0
for k in range (n):
somme=somme+f(a+k*(b-a)/n)
return(somme)
def somme2(f,a,b,n):
somme=0
for k in range (n):
somme=somme+f((a+k*(b-a)/n+a+(k+1)*(b-a)/n )/2)
return(somme)
#la version ci-dessous avec les "Decimal" permet d'obtenir des flottants avec 28* chiffres après la virgule (alors qu'en mode "normal", les flottants ont 16 ou 17 chiffres après la virgule
from decimal import * #importation de Decimal du module "Decimal"
getcontext().prec=32 #régler le nombre de chiffres total, * pour dépasser 28 (car tableau 2 simpson, dernière case --> pas assez)
def somme1_decimal(f,a,b,n):
somme=0
for k in range (n):
somme=somme+f(a+k*Decimal((b-a))/Decimal(n))
return(somme)
def somme2_decimal(f,a,b,n):
somme=0
for k in range (n):
somme=somme+f((a+k*Decimal((b-a))/Decimal(n)+a+(k+1)*Decimal((b-a))/Decimal(n) )/2)
return(somme)
def Rect(f,a,b,n):
return(somme1(f,a,b,n)*(b-a)/n)
def Med(f,a,b,n):
return(somme2(f,a,b,n)*(b-a)/n)
def Trap(f,a,b,n):
return((2*somme1(f,a,b,n)+f(b)-f(a))*(b-a)/(2*n))
def Simp (f,a,b,n):
return((2*somme1(f,a,b,n)+4*somme2(f,a,b,n)+f(b)-f(a))*(b-a)/(6*n))
#Version "Decimal" nécessaire avec la méthode de Simpson
def Simp_Decimal (f,a,b,n):
return((2*somme1_decimal(f,a,b,n)+4*somme2_decimal(f,a,b,n)+f(Decimal(b))-f(Decimal(a)))*Decimal((b-a))/Decimal(n*6))
#Définition de la fonction f
def
...