On souhaite déterminer le sens de variation de la fonction f(x) = x^3 + 2x^2 - 8x + 1 , \forall x \in \mathbb{R} à l'aide d'un programme Python.
Que peut-on dire d'une fonction f croissante sur [a;b] , a < b \in \mathbb{R} ?
Une fonction f est croissante si elle conserve les inégalités.
Ainsi, \forall x, y \in [a;b] , si x < y alors /( f(x) < f(y) \).
On en déduit donc :
\forall x, y \in [a;b] , x < y \Rightarrow f(x) < f(y)
Comment peut-on définir la fonction f(x) = x^3 + 2x^2 - 8x + 1 , \forall x \in \mathbb{R} en Python ?
En Python, une fonction se définit avec le mot-clé \verb/def/ suivi du nom de la fonction et des arguments entre parenthèses. Elle se termine par l'instruction \verb/return/ qui renvoie le résultat souhaité.
Ainsi :
\verb/ def f(x): /
\verb/ return x**3 + 2*x**2 - 8*x + 1 /
Comment se calcule le pas constant si l'on souhaite diviser un intervalle [a;b] en 10 intervalles de même taille ?
La longueur de l'intervalle [a;b] est a-b .
Si l'on souhaite diviser cet intervalle en 10 parties de même taille, on peut donc définir le pas de la façon suivante :
h = \dfrac{a-b}{10}
Quel programme permet d'indiquer si la fonction f est croissante entre chaque valeur d'un pas constant ?
Pour connaître le sens de variation d'une fonction à l'aide d'un pas pas constant, on peut regarder si la valeur de f(x) est plus petite ou plus grande que f(x+pas) . À l'aide d'une boucle \verb/for/, il est possible d'itérer sur tous les sous-intervalles de [a;b] de taille pas et de savoir si la fonction est croissante ou décroissante.
On enregistre cette information dans un tableau à l'aide de l'instruction \verb/tableau.append("croissant")/ ou \verb/tableau.append("decroissant")/ qui ajoute à la fin du tableau l'élément « croissant » ou « décroissant ».
Ainsi :
\verb/ def f(x): /
\verb/ return x**3 + 2*x**2 - 8*x + 1 /
\verb/ def sens_variation(a,b,f): /
\verb* pas=(b-a)/10 *
\verb/ tableau=[] /
\verb/ x1=a /
\verb/ x2=a + pas /
\verb/ for i in range(10): /
\verb/ x1+=pas /
\verb/ x2+=pas /
\verb/ y1=f(x1) /
\verb/ y2=f(x2) /
\verb/ if y1<y2: /
\verb/ tableau.append("croissant") /
\verb/ else: /
\verb/ tableau.append("decroissant") /
\verb/ return tableau /