Vous êtes sur la page 1sur 2

Université Paris Saclay Méthodes Numériques pour la Physique

M1 Physique et Applications

TP1 : Racines d’une fonction de Bessel


————————————————————————————————————————————————————

Connectez-vous sur e-Campus. Retrouver dans l’espace ”Méthodes numériques pour la physique”, les documents
relatifs au premier TP. Créer un dossier MNP/TP sur votre machine et y déposer les documents fournis.

Description du TP

Dans de nombreux problè́mes physiques il est nécessaire de trouver les racines x∗, d’équations algébriques de la forme

f (x∗ ) = 0 (1)

Parfois on arrive à trouver une ou plusieurs racines de manière analytique mais dans le cas général, on ne sait pas
localiser la racine. On peut alors utiliser des méthodes numériques. Dans ce TP, on cherche à identifier les zéros de la
fonction de Bessel

Jm (x∗ ) = 0 (2)

avec ici m ∈ Z. Si on trace par exemple la fonction J1 (x) on voit

0.6

J1 (x)
0.4

0.2
ζ11 ζ12 ζ13 ζ14
0

−0.2

−0.4
0 5 10 15
x

Chaque fonction de Bessel Jm (x) a une infinité de racines (non-nulles) dans l’intervalle x ∈ [0, +∞[. On écrit ζjm , j ∈ N,
le j-ième zéro de la fonction Jm (x). Dans ce TP, on cherchera à identifier quelques-uns de ces zéros à l’aide de
différentes méthodes. On comparera une méthode graphique des méthodes numériques itératives telles que la méthode
de dichotomie et la méthode de la sécante.

Mesure graphique des racines :

Le script python Bessel.py contient le nécessaire pour mesurer graphiquement les zéros de la fonction de Bessel.
Exercice : Servez-vous de ce script pour remplir le tableau suivant (2 chiffres significatifs)

m ζ1m ζ2m ζ3m ζ4m

1
Calcul numérique des racines : dichotomie

L’algorithme de la méthode de dichotomie a été expliqué en cours. Il est nécessaire de considérer

• f
Une fonction, qui reçoit un argument à l’entrée x et qui renvoit f(x)=sin(x) à la sortie.

• dichotomie
Une fonction, qui reçoit 4 arguments à l’entrée : a,b spécifient les deux points de départ à gauche et à droite d’un
zéro. N est le nombre d’itérations, f la fonction sur laquelle s’applique la méthode. Le programme applique N pas
de la méthode de dichotomie et trouve (un des) zéros de la fonction f, compris entre a et b. Le zéro x*, ainsi que la
valeur de la fonction f(x*), sont affichés.
Vous pouvez tester par la commande
>> dichotomie(3,5,30,f)
que la méthode retrouve bien le zéro π de la fonction sin(x). Remarquer que la synthaxe permet le passage d’un nom
d’une fonction à une autre fonction. Etudier comment cette méthode peut être optimisée.

Exercice :
1. Ajouter dans la fonction dichotomie un test d’arrêt, qui permet d’arrêter les itérations si une précision de 10−8
est atteinte sur la valeur de la fonction et/ou sur l’écart entre les points xp et xm. Combien d’itérations sont n
écessaires pour trouver π avec cette précision, dans l’exemple donné. π est connue en python comme math.pi
2. Créer une fonction bess qui renvoie à la réception de x, la valeur Jm(x). Définir la variable m localement dans
cette fonction.
3. Utiliser la méthode de dichotomie sur cette nouvelle fonction afin de remplir le tableau. Spécifier la syntaxe
python utilisée

m ζ1m ζ2m ζ3m ζ4m

2
On souhaite une précision de 10−5 .

Calcul numérique des racines : sécante

La méthode de la sécante trouve le zéro d’une fonction f (x) à partir de deux estimations initiales x0 , x1 et met en
boucle la suite
xi f (xi−1 ) − xi−1 f (xi )
xi+1 = (3)
f (xi−1 ) − f (xi )

pour i ≥ 1.
Exercice :
1. Proposer une nouvelle fonction secante, dans lequel vous codez l’algorithme de la sécante. Ajouter un test
d’arrêt afin de contrôler la précision du calcul.

2. Tester le bon fonctionnement de votre algorithme en retrouvant quelques unes des racines du tableaux précdent.
Spécifier la syntaxe à utiliser.

Vous aimerez peut-être aussi