Problème exo Python (Débutant)
nord_cie.
Messages postés
3
Statut
Membre
-
quent217 Messages postés 424 Statut Membre -
quent217 Messages postés 424 Statut Membre -
Bonjour,
Je suis débutant en Python et je suis très embêté par un exercice, j'aurais donc besoins de votre aide !
Le but de l’exercice est d’apprendre à tracer une courbe avec Python, le voici :
On considère la fonction f définie pour tout réel x, pat f(x)=x**3
on veut écrire un algorithme qui construit point par point l'allure de la courbe de la fonction dérivée de la fonction f, à l'aide de son taux de variation. Pour cela, on approxime les valeurs de f'(a) par le taux de variation (f(a+h)-f(a))/h en a, calculé avec une valeur de h assez petite.
1) On définit une fonction taux_variation qui prend en arguments une fonction f,a et h et renvoie la valeur approchée du taux de variation de f en a.
Compléter la fonction suivante.
2) On considère la fonction suivante.
a) Quel est le rôle du nombre p dans cette fonction ?
b) Que contient la liste LY lorsque la boucle s'arrête ?
c) Programmer cette fonction et retrouver le graphique ci-dessous.

d) Quelle est l’expression de la fonction dérivée de f ?
e) En donnant différentes valeurs à p et à h, retrouver l’allure de la courbe de la fonction
dérivée de la fonction f (x) = x3.
Tester le programme précédent afin d’obtenir une allure de la courbe de la dérivée des
fonctions :
Je vous remercie de m'avoir lu ! Et j'espère qu'on pourra m'aider, merci beucoup.
PS : j'ai déjà essayer mais mon programme ne me renvoie au même chiffre que je met pour la Question 1.
Je suis débutant en Python et je suis très embêté par un exercice, j'aurais donc besoins de votre aide !
Le but de l’exercice est d’apprendre à tracer une courbe avec Python, le voici :
On considère la fonction f définie pour tout réel x, pat f(x)=x**3
on veut écrire un algorithme qui construit point par point l'allure de la courbe de la fonction dérivée de la fonction f, à l'aide de son taux de variation. Pour cela, on approxime les valeurs de f'(a) par le taux de variation (f(a+h)-f(a))/h en a, calculé avec une valeur de h assez petite.
1) On définit une fonction taux_variation qui prend en arguments une fonction f,a et h et renvoie la valeur approchée du taux de variation de f en a.
Compléter la fonction suivante.
def taux_variation(f,a,h):
return ...
2) On considère la fonction suivante.
import matplotlib.pyplot as plt
def appro_derivee(f,xmin,xmax,p,h):
a=xmin
LX=[ ]
LY=[ ]
while a<xmax:
LX.append(a)
LY.append(taux_variation(f,a,h))
a=a+p
plt.plot(LX,LY,"b+")
plt.show()
a) Quel est le rôle du nombre p dans cette fonction ?
b) Que contient la liste LY lorsque la boucle s'arrête ?
c) Programmer cette fonction et retrouver le graphique ci-dessous.

d) Quelle est l’expression de la fonction dérivée de f ?
e) En donnant différentes valeurs à p et à h, retrouver l’allure de la courbe de la fonction
dérivée de la fonction f (x) = x3.
Tester le programme précédent afin d’obtenir une allure de la courbe de la dérivée des
fonctions :

Je vous remercie de m'avoir lu ! Et j'espère qu'on pourra m'aider, merci beucoup.
PS : j'ai déjà essayer mais mon programme ne me renvoie au même chiffre que je met pour la Question 1.
A voir également:
- Problème exo Python (Débutant)
- Citizen code python avis - Accueil - Outils
- Logiciel montage vidéo débutant - Guide
- Logiciel de programmation pour débutant - Guide
- Python est introuvable. exúcutez sans argument pour procúder ó l - Forum Python
- Mot secret python pix ✓ - Forum Python
2 réponses
Bonjour,
Merci de nous montrer ce que vous avez commencé à faire et de nous expliquer quel est votre problème exactement.
On ne va pas faire l'exercice à votre place.
Merci de nous montrer ce que vous avez commencé à faire et de nous expliquer quel est votre problème exactement.
On ne va pas faire l'exercice à votre place.
Bonjour,
Pour la question 1 lorsque que je test votre code j'obtiens les bonnes valeurs, je n'ai pas 9 quand je donne 9 en entrée. Comment testez-vous les fonctions ?
Ensuite pour la question 2
"Le rôle de p serait de rajouter 1 à chaque passage dans la boucle."
Il faudrait être un peu plus précis je pense : ajouter 1 à quoi ? Pour quoi faire ?
Et puis pourquoi 1 ? Je ne vois de 1 nulle part.
"La liste LY contient l'ordonné du dernier point que l'algorithme vient de tracer."
Ce n'est pas exactement ça. Affichez la liste pour voir ce qu'elle contient
"Il m'envoie un message d'erreur : No module named 'matplotlib'"
Cela signifie que matplotlib n'est pas installé sur votre ordinateur. Vous pouvez l'installer en faisant "pip install matplotlib"
Pour la question 1 lorsque que je test votre code j'obtiens les bonnes valeurs, je n'ai pas 9 quand je donne 9 en entrée. Comment testez-vous les fonctions ?
Ensuite pour la question 2
"Le rôle de p serait de rajouter 1 à chaque passage dans la boucle."
Il faudrait être un peu plus précis je pense : ajouter 1 à quoi ? Pour quoi faire ?
Et puis pourquoi 1 ? Je ne vois de 1 nulle part.
"La liste LY contient l'ordonné du dernier point que l'algorithme vient de tracer."
Ce n'est pas exactement ça. Affichez la liste pour voir ce qu'elle contient
"Il m'envoie un message d'erreur : No module named 'matplotlib'"
Cela signifie que matplotlib n'est pas installé sur votre ordinateur. Vous pouvez l'installer en faisant "pip install matplotlib"
Pardonnez-moi j'ai oublié : voici ce que j'ai commencé à faire pour la question 1 :
Mais le problème c'est que si par exemple je met le numéro 9, il me renvoie 9. Est-ce normal ?
Pour la question 2 :
a) Le rôle de p serait de rajouter 1 à chaque passage dans la boucle.
b) La liste LY contient l'ordonné du dernier point que l'algorithme vient de tracer.
c)
Lorsque je tape mon programme Python en entier :
def f(x): return x**3 def taux_variation(f,a,h): return (f(a+h)-f(a))/h import matplotlib.pyplot as plt def appro_derivee(f,xmin,xmax,p,h): a=xmin LX=[ ] LY=[ ] while a<xmax: LX.append(a) LY.append(taux_variation(f,a,h)) a=a+p plt.plot(LX,LY,"b+") plt.show()Il m'envoie un message d'erreur : No module named 'matplotlib'
Donc je ne comprends pas aussi ce problème là... :)
Merci de votre réponse !