I . Définir une fonction mathématique
Dans le logiciel Thonny, créer une fonction f()
définie comme suit:
def f(x):
return x**2
- Calculer
puis
. - Quelle est cette fonction
?
II – Définir la fonction coeficient_directeur
Créer une fonction coef_directeur()
qui prend en paramètre deux abscisses abs1
et abs2
et une fonction fonction
. Cette fonction retournera le coefficient directeur de la droite qui passe par les deux points de la courbe représentative de la fonction fonction
d’abscisses respectives abs1
et abs2
.
Remarque: abs1
et abs2
doivent avoir des valeurs différentes.
def coef_directeur(abs1, abs2, fonction):
....
....
return ...
III – Définir une liste d’abscisses
Créer une fonction liste_abs()
qui prend en paramètre un nombre nb
, un pas pas
et un nombre de pas nb_pas
et qui retourne la liste des (2 \times nb\_pas +1)
nombres de l’intervalle .
IV – Définir la fonction liste_coeff_directeurs
Créer une fonction liste_coeff_directeurs()
qui prend en paramètre une abscisse abscisse
, une fonction fonction
, une liste d’abscisses liste_abscisses
. Cette fonction retournera tous les coefficients directeurs des droites passant par deux points de la courbe représentative de la fonction fonction
: celui d’abscisse abscisse
et chacun des éléments de la liste liste_abscisses
.
Remarque: Lorsque l’élément de la liste liste_abscisses
est égal à abscisse
, il y aura une division par , on pourra donc, dans ce cas présent, metre l’élément "Nombre cherché"
dans la liste retrounée.
IV – Tracer les droites et la courbe
- Importer la bibliothèque
pylab
. - Ecrire la fonction suivante:
def tracer(fonction, pas, abscisse_fixe, nb_pas): liste_abscisses = liste_abs(abscisse_fixe, pas, nb_pas) liste_ordonnees = [fonction(x) for x in liste_abscisses] liste_abscisses2 = liste_abs(abscisse_fixe, 0.01, 1000) liste_ordonnees2 = [fonction(x) for x in liste_abscisses2] minimum=min(liste_ordonnees2) maximum=max(liste_ordonnees2) pylab.plot(liste_abscisses2, liste_ordonnees2,"k") pylab.xlim(min(liste_abscisses2), max(liste_abscisses2)) pylab.ylim(minimum, maximum) for absc in liste_abscisses: if absc != abscisse_fixe: coef_dir=coefficient_directeur(abscisse_fixe, absc, fonction) else: h=1e-10 coef_dir=(fonction(abscisse_fixe+h)-fonction(abscisse_fixe-h))/(2*h) absc1=min(liste_abscisses2) absc2=max(liste_abscisses2) ord1=fonction(abscisse_fixe)+(min(liste_abscisses2)-abscisse_fixe)*coef_dir ord2=fonction(abscisse_fixe)+(max(liste_abscisses2)-abscisse_fixe)*coef_dir pylab.plot([absc1, absc2], [ord1, ord2]) pylab.show()
- Exécuter la fonction tracer:
>>> tracer(f, 1, 5, 5)
Que fait cette fonction?
- Que dire des droites tracées? Y en a-t-il une positionnée de façon particulière?