Problème exo Python (Débutant)

Fermé
nord_cie. Messages postés 2 Date d'inscription dimanche 1 mars 2020 Statut Membre Dernière intervention 1 mars 2020 - Modifié le 1 mars 2020 à 11:49
quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 - 3 mars 2020 à 13:46
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.
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.

2 réponses

quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 347
1 mars 2020 à 13:34
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.
1
nord_cie. Messages postés 2 Date d'inscription dimanche 1 mars 2020 Statut Membre Dernière intervention 1 mars 2020
Modifié le 1 mars 2020 à 15:18
Bonjour ,
Pardonnez-moi j'ai oublié : voici ce que j'ai commencé à faire pour la question 1 :

def f(x):
  return x**3
def taux_variation(f,a,h):
  return (f(a+h)-f(a))/h



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 !
0
quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 347
3 mars 2020 à 13:46
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"
1