• Aucun résultat trouvé

TD n°1 - Algorithmes Encadrer la solution d’une équation

N/A
N/A
Protected

Academic year: 2022

Partager "TD n°1 - Algorithmes Encadrer la solution d’une équation"

Copied!
3
0
0

Texte intégral

(1)

TD n°1 - Algorithmes

Encadrer la solution d’une équation

Objectif

Concevoir des algorithmes permettant d’encadrer la solution d’une équation du typef(x)=0, où f est une fonction connue.

Première partie

Algorithmes de balayage

Exercice 1.

On considère la fonctionf définie sur [−2; 10] par :f(x)=x3−6x2+6.

1. Étudier les variations def sur [−2; 10]

2. Montrer que l’équationf(x)=0 admet 3 solutions sur [−2; 10].

Une solution uniqueαsur cet [−2; 0],βsur cet [0; 4] etγsur [4; 10]. Voici le tableau de variations attendu.

x Signe de f(x)

Variations de f

−2 0 4 10

+ 0 −

−26

−26

66

−26

−26

406 406 α

0

β

0

γ

0

3. Donner un encadrement à 0,01 près deα,βetγpar balayage avec la calculatrice.

Commencer avec un pas de 0,1 puis affiner la recherche.

Pourαpar exemple, dans le tableau de valeurs de la fonctionf, fixer d’abord le pas d’incrémentation à 0,1 pour faire émerger rapidement les valeurs (−1) et (−0,9).

Ensuite, modifier le pas d’incrémentation à 0,01 pour obtenir l’encadrement souhaité.

Aide

(2)

TD n°1 - Algorithmes - Encadrer la solution d’une équation

4. Voici une fonctionbal1, de paramètrepetapest la précision souhaitée, (icip=0,01), etale début du balayage (icia=0). Écrivez cette fonction sous python et retrouver l’encadrement deαde la question (2.).

Aide : on pourra définir la fonction f indépendamment.

Fonction bal1(p,a)

’ ’ ’In : p le pas, a le début du balayage, f la fonction supposée croissante Out : un encadrement d’une solution de f(x)=0’ ’ ’

p as=p x=a y=f(x)

Tant quey<0 Faire xx+p as yf(x) Fin Tant que

Envoyer (x−p as,x)

Pseudo Code

5. Vous devez obtenir un affichage de ce type, qui est du à la gestion des flottants par tous les ordinateurs :

> bal1(0.01,-2)

(-0.9399999999999991, -0.929999999999999)

On peut modifier l’affichage en arrondissant les résultats affichés avec la fonction round. Par exemple fixer un arrondi à 105près, cela conviendra pour la plupart des exercices.

round(b, n) va renvoyer l’arrondie debà 10nprès.

Par exemple : round(2.2563 , 2) => 2.26

round(b , n)

6. Retrouver l’encadrement avec votre programme deγ, solution def(x)=0 sur [4; 10].

7. Essayer votre programme pour retrouver l’encadrement deβ, solution def(x)=0 sur [0; 4]. Le programme ne convient pas, expliquer pourquoi.

8. Écrire une fonctionbal2(p,a)qui permet de trouver un encadrement de la solution dans le cas où la fonction est décroissante.

9. Écrire une fonctionbal_general(p,a)donnant un encadrement de la solution, quelque soit la monotonie de f.

Deux nombres sont de signes opposés si leur produit est négatif.

Aide

Pour la résolution de l’équation f(x)=k, il suffit d’appliquer l’algorithme à la fonctiong définie parg(x)=f(x)−k

Remarque

www.math93.com / M. Duffaud 2/3

(3)

TD n°1 - Algorithmes - Encadrer la solution d’une équation

Exercice 2.

1. L’inconvénient est que l’algorithme précédent effectue un grand nombre de fois fois la boucle « Tant Que ». Com- bien de fois exactement dans notre configuration pour l’encadrement deα?

2. On peut l’améliorer en effectuant d’abord un balayage avec un pas de 0,1, puis de 0,01, puis de 0,001 ...

Écrire une fonctionbal_rapide(p,a)qui répond à ce problème en appelant la fonctionbal_general(p,a). 3. Complément

Pour évaluer le temps de calcul des deux fonctions, importer le module time. Voici un moyen de procéder :

import time a=4

p=0.00001

#

t=time.time() # la variable t prend le temps de l'horloge de l'ordinateur print(bal_general(p,a))

t2=time.time()

print('Temps pour bal_general = ', t2-t) # on affiche la différence entre

# le temps de l'horloge avant et après l'exécution

t=time.time()

print(bal_rapide(p,a)) t2=time.time()

print('Temps pour bal_rapide = ',t2-t)

Ce qui donne (le temps va dépendre de votre ordinateur et de votre connexion sur repl) : (5.82305, 5.82306)

Temps pour bal_general = 0.4446842670440674 (5.82305, 5.82306)

Temps pour bal_rapide = 8.988380432128906e-05

[ Fin du devoir \

www.math93.com / M. Duffaud 3/3

Références

Documents relatifs

[r]

[r]

Le but de l’exercice est de « construire » un espace vectoriel normé de dimension infinie, de le munir de deux normes non équivalentes mais qui font de cet evn un Banach. Soit (E , k

Écrire un nouvel algorithme ayant le même but mais qui, au lieu d’utiliser la fonction arccos, utilise la fonction arcsin.. Exercice 2

La valeur obtenue et le terme général de la somme doivent conduire à l’introduction d’une fonction auxiliaire qui permettra de

Dans un tableau de valeur proportionnelles on passe de la 1 ère ligne à la 2 ème en multipliant partout par un même nombre. Ce nombre est appelé coefficient de proportionnalité. On

La méthode de dichotomie est un algorithme de recherche d’un zéro d’une fonction qui consiste à répéter des partages d’un intervalle en deux parties (on divise la longueur par

[r]