Python
-
- Messages : 10356
- Enregistré le : lun. 30 août 2010 11:15
Re: Python
Bonjour,
ton tableau te donne une liste de points qui peuvent se placer dans un graphique.
L'objectif est de tracer une courbe qui passe par ces points afin de définir une fonction d'interpolation (c'est le rôle des polynômes d'interpolation).
On te dit que l'énergie est l'aire sous la courbe de la fonction donc il faut ensuite calculer l'intégrale de ta fonction entre 0 et 1, ce qui peut se faire à l'aide d'une méthode numérique vue auparavant.
Je ne peux pas t'en dire plus, c'est à toi de construire la suite et de faire les liens entre les différentes méthodes.
Bonne continuation
ton tableau te donne une liste de points qui peuvent se placer dans un graphique.
L'objectif est de tracer une courbe qui passe par ces points afin de définir une fonction d'interpolation (c'est le rôle des polynômes d'interpolation).
On te dit que l'énergie est l'aire sous la courbe de la fonction donc il faut ensuite calculer l'intégrale de ta fonction entre 0 et 1, ce qui peut se faire à l'aide d'une méthode numérique vue auparavant.
Je ne peux pas t'en dire plus, c'est à toi de construire la suite et de faire les liens entre les différentes méthodes.
Bonne continuation
Re: Python
bonjour, désolée mais ça fait très longtemps que je cherche, je suis vraiment bloquée sur ce problème.
Quelle méthode numérique vue auparavant faut-il utiliser pour calculer l'intégrale de ta fonction entre 0 et 1 ?
Je suis noyée. :(:(
Quelle méthode numérique vue auparavant faut-il utiliser pour calculer l'intégrale de ta fonction entre 0 et 1 ?
Je suis noyée. :(:(
-
- Messages : 10356
- Enregistré le : lun. 30 août 2010 11:15
Re: Python
Bonjour,
il me semble que tu as vu Gauss-Legendre, Simpson, Newton-Cotes... Cela fait plusieurs méthodes d’intégration numérique et il ne te reste qu'à choisir.
Bonne continuation
il me semble que tu as vu Gauss-Legendre, Simpson, Newton-Cotes... Cela fait plusieurs méthodes d’intégration numérique et il ne te reste qu'à choisir.
Bonne continuation
Re: Python
ET y a-t-il une méthode plus pertinente qu'une autre ?
Bonne soiré
Bonne soiré
-
- Messages : 10356
- Enregistré le : lun. 30 août 2010 11:15
Re: Python
Il me semblait que l'on t'avait fait faire un comparatif des méthodes dans une de tes questions.
Essaie avec celle qui te semble la plus simple à mettre en œuvre.
Bonne continuation
Essaie avec celle qui te semble la plus simple à mettre en œuvre.
Bonne continuation
Re: Python
Bonsoir (ou bonjour ?!), à cette heure là.... (;
Alors du coup j'ai repris le premier exo selon vos conseils.
J'ai demandé à Python de construire f le polynôme d'interpolation avec scipy et le spline comme je l'ai lu dans le sujet que vous m'avez donné sur la course.
Ensuite, j'ai demandé à Python d'exécuter les fonctions qu'on avait trouvées (je les ai remises en dessous), avec f le polynôme construit avec scipy, a=0 et b=1. Par contre quoi prendre comme valeurs de n ? Combien de points d'intégration faut-il prendre ?
Merci !
Avec n=10, j'obtiens 19, et vous ?
bon we
Alors du coup j'ai repris le premier exo selon vos conseils.
J'ai demandé à Python de construire f le polynôme d'interpolation avec scipy et le spline comme je l'ai lu dans le sujet que vous m'avez donné sur la course.
Ensuite, j'ai demandé à Python d'exécuter les fonctions qu'on avait trouvées (je les ai remises en dessous), avec f le polynôme construit avec scipy, a=0 et b=1. Par contre quoi prendre comme valeurs de n ? Combien de points d'intégration faut-il prendre ?
Merci !
Avec n=10, j'obtiens 19, et vous ?
bon we
Code : Tout sélectionner
def Simpson (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
Code : Tout sélectionner
import numpy
def calc_int_gauss_legendre(f,a,b,n):
X = list(numpy.polynomial.legendre.leggauss(n)[0])
W = list(numpy.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
-
- Messages : 10356
- Enregistré le : lun. 30 août 2010 11:15
Re: Python
Bonjour,
il faut prendre pour \(n\) le nombre de points d'interpolation, donc le nombre de points de ton tableau.
Bonne continuation
il faut prendre pour \(n\) le nombre de points d'interpolation, donc le nombre de points de ton tableau.
Bonne continuation
Re: Python
D'accord.
J'obtiens pour la première méthode 19,8734 et pour la deuxième méthode 19,7239
Vous obtenez bien la même chose quand vous exécutez ?
Si non, qu'est-ce que vous obtenez ?
Merci de toute l'aide
J'obtiens pour la première méthode 19,8734 et pour la deuxième méthode 19,7239
Vous obtenez bien la même chose quand vous exécutez ?
Si non, qu'est-ce que vous obtenez ?
Merci de toute l'aide
-
- Messages : 10356
- Enregistré le : lun. 30 août 2010 11:15
Re: Python
Bonjour,
je ne suis pas censé faire l'exercice en même temps que toi, je crois que c'est toi l'étudiant(e)...
Donc tu essaies de te convaincre toi-même de la vraisemblance de tes résultats.
Par ailleurs, il faut bien qu'il reste quelque chose à faire pour ton professeur.
Bonne continuation
je ne suis pas censé faire l'exercice en même temps que toi, je crois que c'est toi l'étudiant(e)...
Donc tu essaies de te convaincre toi-même de la vraisemblance de tes résultats.
Par ailleurs, il faut bien qu'il reste quelque chose à faire pour ton professeur.
Bonne continuation
Re: Python
bonjour oui merci je comprends ce que vous voulez dire
mais y a quelque chose que je comprends pas : à quoi correspond ce nombre, 19,... ?
Que signifie - t-il par rapport à la question de l'énoncé ?
mais y a quelque chose que je comprends pas : à quoi correspond ce nombre, 19,... ?
Que signifie - t-il par rapport à la question de l'énoncé ?
-
- Messages : 10356
- Enregistré le : lun. 30 août 2010 11:15
Re: Python
Bonjour,
ce nombre correspond à l'intégrale de la fonction entre 0 et 1.
Ensuite il te reste à l'interpréter dans le contexte de l'exercice.
Bonne continuation
ce nombre correspond à l'intégrale de la fonction entre 0 et 1.
Ensuite il te reste à l'interpréter dans le contexte de l'exercice.
Bonne continuation