Implémentation basique
Contents
La page ci-présente existe en version notebook téléchargeable grâce au bouton (choisir le format
.ipynb
). On rappelle qu’l faut ensuite l’enregistrer dans un répertoire adéquat sur votre ordinateur (capa_num
par exemple dans votre répertoire personnel) puis lancer Jupyter Notebook depuis Anaconda pour accéder au notebook, le modifier et exécutez les cellules de code adéquates.
Si vous vous sentez suffisamment à l’aise, vous pouvez passer directement à l’étude approfondie.
1.4. Implémentation basique#
Nous allons ici implémenter sans utiliser de fonction les deux méthodes de recherche de racine pour réaliser la recherche d’un point de fonctionnement et étudier le redressement monoalternance.
1.4.1. Position du problème.#
On considère un générateur idéal de tension délivrant une tension
La loi des mailles s’écrit:
1.4.2. Etude préliminaire#
Exercice A:
On prend.
Importer les bibliothèques
numpy
etmatplotlib.pyplot
Définir la variable
puis une fonction f_test
qui renvoie la valeur depour une tension donnée en argument de la fonction. (On définira de manière globale hors de la fonction pour pouvoir modifier sa valeur par la suite. Pour le reste, on peut les définir dans la fonction.) Tracer la fonction
entre et vérifier graphiquement qu’il n’y bien qu’une seule racine dans l’intervalle (Note: On peut démontrer que la fonction est strictement décroissante, on a donc bien unicité de la racine quand elle existe.)
1.4.3. Méthode par dichotomie#
Exercice B:
Ecrire une suite d’instruction:
(Initialisation): Définir les bornes
a
etb
initiales de l’intervalle de recherche et la précisionprec
recherche sur(on prendra une précision de .). _ Vous pouvez, au cas où tester si ou est nul et le cas échéant changer l’intervalle pour qu’il soit de longueur nulle (mais bon…)._ (Boucle) : La boucle devra être réalisée tant que la largeur de l’intervalle
est supérieur à prec
. Quel type de boucle utiliser ? A l’intérieur de la boucle:
Calculer le milieu de l’intervale
c
et tester sis’annule en c
. Si c’est le cas, assignerà ET (l’intervalle est alors de longueur nulle et la boucle se terminera). Sinon si
, assigner c à b et recommencer. Sinon, assigner c à a et recommencer.
Afficher la valeur du milieu du dernier intervalle
et la valeur de . Vérifier la cohérence de la valeur obtenue avec le graphique tracé précédemment.
Exercice Bbis:
Reprendre la série d’instructions précédentes mais remplacer le critère d’arrêt de la boucle par un test sur lequi doit être inférieur la précision choisie ( ). Obtient-on une valeur plus ou moins précise de la tension finale ?
Attention
L’observation précédente n’est pas une généralité. Suivant la pente de la fonction autour de 0, le test sur l’abscisse ou l’ordonnée seront plus ou moins performants. On peut d’ailleurs faire les deux si besoin.
1.4.4. Méthode de Newton#
La méthode de Newton n’étant pas officiellement au programme en physique, ne faire cette partie QUE si vous êtes suffisamment en avance (ET que vous avez fini la partie suivante).
Exercice C:
(Initialisation) Choisir une valeur
dans l’intervalle de départ à stocker dans x0
.(Boucle) Critère pour continuer :
. On prendra une précision de . Calculer défini par la méthode de Newton et l’assigner à la variable x0
.Vérifier que la valeur finale est cohérente avec les études précédentes.
Ajouter un compteur aux deux méthodes (dichotomie et Newton) et comparer le nombre d’itération dans les deux cas.