Page 1 sur 3
Suite de l'exo
Posté : sam. 16 janv. 2021 01:30
par Invité
Rebonsoir ou rebonjour,
Ceci est la suite du sujet :
https://sosmath.ac-poitiers.fr/viewtopi ... =9&t=19830
Je remets le sujet en dessous et il faut s'aider des programmes qui sont sur l'autre sujet.
https://www.cjoint.com/data/KAfbZLGARjH ... verses.png
Je poste ce message à propos de l'application 2 : dans celle-là, comment peut-on utiliser une des deux méthodes programmées ?
Je pense qu'il faut utiliser la relation V=d/t, donc t=d/V.
Mais pourquoi on aurait besoin des deux méthodes ? Comme d=100, il ne suffit pas de calculer t=100/V, avec V la vitesse donnée dans l'énoncé ?
Merci par avance de vos explications qui éclaircir ma journée de samedi j'espère !
Re: Suite de l'exo
Posté : sam. 16 janv. 2021 10:26
par sos-math(21)
Bonjour,
dans ton cas ici, il faut raisonner de manière infinitésimale : tu as \(dx=V(x) dt\) donc \(dt=\dfrac{dx}{V(x)}\) donc ce qui signifie qu'il faut calculer l'intégrale \(\displaystyle \int_{}^{}\dfrac{dx}{V(x)}\) pour obtenir le temps et donc faire appel aux méthodes d'intégration numérique.
Bonne mise en œuvre
Re: Suite de l'exo
Posté : sam. 16 janv. 2021 19:21
par Invité
D'accord, merci je comprends mieux.
Par contre quelles sont les bornes de l'intégrale ?
a=0 et b=100 ?
Et on prend combien pour n ?
Re: Suite de l'exo
Posté : sam. 16 janv. 2021 19:57
par sos-math(21)
Tout est dans l'énoncé : entre 0 et 100, avec 5 points d'intégration.
Bonne continuation
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 18:33
par Invité
Bonjour merci
mais quand j'exécute mon script j'obtiens une erreur...
Savez-vous pourquoi et quoi faire pour l'éliminier ?
Voici mon code :
https://trinket.io/python3/fb7c485384
Que ne va t il pas ?
merci
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 20:00
par sos-math(21)
Bonjour,
le problème vient de ton appel de fonction et des crochets que tu as mis dans ta fonction :
Code : Tout sélectionner
print(Simpson_composite(lambda x : 1/[360*math.sqrt(1+3*math.exp(-x/15)*(1+math.cos(x/5)))],a,b,n))
Python interprète ces crochets comme une liste, ce qui rend ta fonction inintelligible pour lui : quotient d'un nombre et d'une liste ?
Mets des parenthèses à la place et réessaie.
J'ai corrigé :
Code : Tout sélectionner
a=0
b=100
n=5
def Simpson_composite (f,a,b,n):
n2=2*n # nombre pair de points
s ,h =0 ,(b-a)/n2 # initialisation
x1 = a # abscisses d'ordre pair
for i in range (0,n):
s += 2* f (x1)+4*f(x1+h)
x1=x1 +2*h
s+= f(b)-f(a)
return s*h/3
print(Simpson_composite(lambda x : 1/(360*math.sqrt(1+3*math.exp(-x/15)*(1+math.cos(x/5)))),a,b,n))
def calc_int_gauss_legendre(f,a,b,n):
X = list(np.polynomial.legendre.leggauss(n)[0])
W = list(np.polynomial.legendre.leggauss(n)[1])
subd = [((b-a)/2)*X[i]+(a+b)/2 for i in range(len(X))]
somme = 0
for i in range(len(X)):
somme = somme + W[i]*f(subd[i])
return ((b-a)/2) * somme
print(calc_int_gauss_legendre(lambda x : 1/(360*math.sqrt(1+3*math.exp(-x/15)*(1+math.cos(x/5)))),a,b,n))
et j'obtiens :
Bonne correction
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 20:03
par Invité
ah d'accord en fait je dois juste modifier les crochets par des parenthèses simples ?
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 20:06
par sos-math(21)
Bonjour,
oui, j'ai corrigé les deux appels :
Code : Tout sélectionner
a=0
b=100
n=5
def Simpson_composite (f,a,b,n):
n2=2*n # nombre pair de points
s ,h =0 ,(b-a)/n2 # initialisation
x1 = a # abscisses d'ordre pair
for i in range (0,n):
s += 2* f (x1)+4*f(x1+h)
x1=x1 +2*h
s+= f(b)-f(a)
return s*h/3
print(Simpson_composite(lambda x : 1/(360*math.sqrt(1+3*math.exp(-x/15)*(1+math.cos(x/5)))),a,b,n))
def calc_int_gauss_legendre(f,a,b,n):
X = list(np.polynomial.legendre.leggauss(n)[0])
W = list(np.polynomial.legendre.leggauss(n)[1])
subd = [((b-a)/2)*X[i]+(a+b)/2 for i in range(len(X))]
somme = 0
for i in range(len(X)):
somme = somme + W[i]*f(subd[i])
return ((b-a)/2) * somme
print(calc_int_gauss_legendre(lambda x : 1/(360*math.sqrt(1+3*math.exp(-x/15)*(1+math.cos(x/5)))),a,b,n))
et j'obtiens :
Bonne continuation
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 20:08
par Invité
ok merci !
c'est ce que j'ai aussi.
Par contre 0.24686386428603677 et 0.24590776364602426 ce sont des temps d'arrivées en minute ou en heure ?
Comment le savoir ?
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 20:12
par sos-math(21)
Bonjour,
regarde dans ton énoncé, on te donne forcément des unités pour les grandeurs étudiées.
Bonne continuation
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 20:14
par Invité
la seule chose qu'on sait c'est que g est en km/h²...
Donc c'est en heures ?
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 20:28
par sos-math(21)
Bonjour,
il faut vraiment apprendre à lire un énoncé, cela me semble important :
Ta réponse sera donc en heures mais ton professeur attend que tu la convertisses en minutes.
Bonne conclusion
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 21:59
par Invité
Ok oui c'est vrai, donc en fait on a juste à multiplier par 60 ?
Et pour la deuxième question, à quoi fait allusion ma prof quand elle parle de convergence des méthodes ?
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 22:03
par sos-math(21)
Oui, c'est cela.
Selon moi, la convergence des méthodes signifie que les méthodes d'intégration numérique convergent vers une même valeur lorsque \(n\) tend vers \(+\infty\) : tes deux réponses sont très proches et si tu augmentes la valeur de \(n\), elles doivent encore plus se rapprocher...
Bonne conclusion
Re: Suite de l'exo
Posté : mar. 19 janv. 2021 22:12
par Invité
d'accord
mais du coup puisqu'ils disent de comparer la convergence des deux méthodes, il doit y avoir une méthode qui converge plus vite / mieux que l'autre ?
Quels tests dois-je faire pour savoir cela ?
merci très bonne soirée à vous