Licence de Mathématiques Fondamentales
Calcul Scientifique
feuille de TD 1
Introduction – Quelques commandes Matlab pour le graphisme 2D
La commande plot sert à tracer des courbes planes. Plus précisément, si xet ydésignent des
vecteurs de même longueur, l’appel plot(x,y) ouvre une fenêtre graphique et trace une ligne brisée
joignant les points dont les coordonnées sont définies par les listes xet y. Par exemple, une façon
d’obtenir la représentation graphique de la fonction sinus sur l’intervalle [4,4] consiste à écrire :
x=4 : 0.01 : 4 ; y=sin(x) ; plot(x, y)
Dans cet exemple, xest un vecteur (au sens MATLAB) qui constitue une subdivision à pas
constant (0.01) de l’intervalle [4,4], et yest un vecteur donnant les valeurs de la fonction sinus
aux points de cette subdivision (l’action de sin se distribue sur tous les éléments d’un vecteur).
Lorsque l’on représente une courbe avec plot, les points sont reliés par un segment, si bien que
l’on a intérêt à choisir un pas de subdivision assez petit pour obtenir une courbe d’apparence lisse.
On obtient de même la représentation graphique de la courbe paramétrée
x(t) = t/(t2+ 1), y(t) = t3et2,
sur l’intervalle [1,2], de la manière suivante :
t=1 : 0.01 : 2 ; x=t./(t.2 + 1) ; y=t.3.exp(t.2) ; plot(x, y)
Il faut faire précéder les signes puissance, multiplication et division par un point, de manière à
ce que l’opération se distribue sur les éléments du vecteur t.
Enfin, lorsque l’on fait plusieurs graphiques, la commande hold permet de geler la fenêtre
graphique courante de sorte que les représentations suivantes se superposent sur cette même figure.
Dans ce cas il peut arriver que les échelles soient réajustées. On annule l’effet de hold ou hold on
avec la commande hold off.
feuille de TD 1 Calcul Scientifique Licence 2002-2003
Résolution de l’équation f(x) = 0
La résolution de l’équation f(x) = 0 est l’une des chevilles ouvrière de l’Analyse Numérique.
Plusieurs méthodes sont utilisables en fonction de la complexité du problème à résoudre.
Exercice - 1Résolution par dichotomie
Il n’y a pas de commentaire particulier à faire sur la résolution par dichotomie. C’est la méthode
la plus simple mais aussi la moins efficace ... La figure (1) donne le principe de l’algorithme.
x
x x
x
0
13
2
x4
Solution : x
4
Fig. 1 – résolution de f(x) = 0 par dichotomie.
Aperçu de l’algorithme de dichotomie
1 – trouver x0et x1tels que f(x0)f(x1)0,
2 – poser x2=1
2(x0+x1),
3 – si f(x0)f(x2)0poser x1=x2, sinon poser x0=x2,
4 – reprendre à partir de (1) tant que |f(x2)| ≥ ǫ.
1- A l’aide d’un tracé de courbe, donner un encadrement des trois premières solutions positives de
l’équation tan(x) = 1/x.
2- Programmer une fonction Matlab y=f(x)calculant la valeur f(x)pour
f(x) = xtan(x)1.(1)
Programmer une fonction Matlab sol =dichotomie(a, b, eps)calculant par dichotomie à eps près
une solution comprise entre aet bde f(x) = 0. Cette fonction fera appel à la fonction Matlab
précédente.
A l’aide de la question précédente, trouver une valeur approchée à 105près de la première
solution positive de f(x) = 0.
3- Faire un programme Matlab vitessedicho pour tracer f(xn)en fonction du numéro d’itération
nde l’algorithme (cf. dessin). Tracer ensuite log10(|f(xn)|)en fonction de n.
4- Recommencer le tracé de f(xn)pour les 2 solutions positives suivantes de f(x) = 0.
Exercice - 2Méthode de Newton
Passons à une méthode de résolution plus évoluée : la méthode de Newton. Ici, l’algorithme est
xn+1 =xnf(xn)
f(xn),
feuille de TD 1 Calcul Scientifique Licence 2002-2003
Solution : x
x
x xx 012
3
3
avec x0astucieusement choisi. L’algorithme s’arrête quand |xn+1 xn| ≤ ǫ.
1- Programmer une fonction Matlab sol =N ewton(a, eps)calculant la solution de l’équation
f(x) = 0 par Newton à eps près, en partant du réel a.
Cette fonction Matlab fera appel à la fonction Matlab y=f(x)(déjà programmée) et à la
fonction Matlab yprime =f prime(x)(à programmer) calculant f(x).
2- Calculer les 3 premières solutions positives de f(x) = 0.
3- Faire un programme Matlab vitesseNewton pour tracer log10(|f(xn)|)en fonction du numéro
d’itération nde l’algorithme.
Exercice - 3Méthode de la sécante
La méthode de Newton nécessite le calcul de 1
f(xn)à chaque itération de l’algorithme de calcul. Ceci
peut être particulièrement coûteux. C’est pourquoi la méthode de Newton est souvent remplacée
par la méthode de la tangente.
Dans cette méthode, le calcul de 1
f(xn)est approché.
Solution : x
4
xxxx 2 0 1 3
X4
L’algorithme est le suivant :
xn+1 =xnxnxn1
f(xn)f(xn1)f(xn).
Il est nécessaire de connaître xnet xn1à chaque itération de l’algorithme. Par conséquent, l’ini-
tialisation demande de choisir astucieusement les nombres x0et x1. Le critère d’arrêt est le même
que celui employé pour la méthode de Newton.
feuille de TD 1 Calcul Scientifique Licence 2002-2003
1- Programmer une fonction Matlab sol =secante(a, b, eps)calculant par la méthode de la
sécante en partant de aet bla solution à eps près de f(x) = 0 pour la fonction
f(x) = xtan(x)1.
2- Calculer la première solution positive de f(x) = 0.
3- Faire un programme Matlab vitessesecante pour tracer l’erreur log10(|f(xn)|)en fonction du
numéro d’itération nde l’algorithme.
Exercice - 4La méthode du point fixe
La méthode de résolution de l’équation g(x) = xpar la méthode du point fixe utilise le fait
que, pour g(x)et x0correctement choisis la suite réccurente
xn+1 =g(xn),
est convergente.
1- Trouver un critère d’arrêt pour la méthode du point fixe.
2- Ecrire une fonction Matlab sol =pointfixe(a, eps)calculant la solution de g(x) = xpar la
méthode du point fixe. Le réel de départ est aet eps est le critère d’arrêt. Cette fonction fera appel
à une fonction Matlab y=g(x)calculant la valeur de g(x).
3- Calculer la première solution positive de cos(x) = x.
4- On souhaite maintenant calculer la première solution positive de tan(x) = 1/x par la méthode
du point fixe. Pour cela on pose
g(x) = xα(xtan(x)1),(2)
α > 0intervient comme variable locale dans la fonction Matlab y=g(x).
Essayer la méthode du point fixe pour α∈ {0.1,1,0.01}.
Expliquer les résultats.
5- Tracer l’erreur log(|f(xn)|)en fonction du numéro d’itération n, où fest la fonction
f(x) = xtan(x)1.
6- Comparer les vitesses de convergence pour les différents algorithmes.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !