Python

Retrouver tous les sujets résolus.
sos-math(21)
Messages : 10354
Enregistré le : lun. 30 août 2010 11:15

Re: Python

Message par sos-math(21) » ven. 8 janv. 2021 08:56

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
Invité

Re: Python

Message par Invité » mar. 12 janv. 2021 17:35

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. :(:(
sos-math(21)
Messages : 10354
Enregistré le : lun. 30 août 2010 11:15

Re: Python

Message par sos-math(21) » mar. 12 janv. 2021 18:39

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
Invité

Re: Python

Message par Invité » mar. 12 janv. 2021 21:49

ET y a-t-il une méthode plus pertinente qu'une autre ?

Bonne soiré
sos-math(21)
Messages : 10354
Enregistré le : lun. 30 août 2010 11:15

Re: Python

Message par sos-math(21) » mar. 12 janv. 2021 21:53

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
Invité

Re: Python

Message par Invité » sam. 16 janv. 2021 01:09

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

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
sos-math(21)
Messages : 10354
Enregistré le : lun. 30 août 2010 11:15

Re: Python

Message par sos-math(21) » sam. 16 janv. 2021 10:17

Bonjour,
il faut prendre pour \(n\) le nombre de points d'interpolation, donc le nombre de points de ton tableau.
Bonne continuation
Invité

Re: Python

Message par Invité » sam. 16 janv. 2021 19:23

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
sos-math(21)
Messages : 10354
Enregistré le : lun. 30 août 2010 11:15

Re: Python

Message par sos-math(21) » sam. 16 janv. 2021 20:00

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
Invité

Re: Python

Message par Invité » mar. 19 janv. 2021 18:21

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é ?
sos-math(21)
Messages : 10354
Enregistré le : lun. 30 août 2010 11:15

Re: Python

Message par sos-math(21) » mar. 19 janv. 2021 19:55

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
Répondre