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?