PPP PPP PPP

publicité
Logiciels Scientifiques (Statistiques)
Licence 2 Mathématiques Générales
Feuille n◦ 3 : Les fonctions et les bonnes habitudes
Exercice 1. Épargne
Mathieu souhaite mettre un peu d’argent de côté et décide donc d’épargner en posant à chaque
fin d’année un petit pécule R sur un compte ayant un intérêt annuel de τ .
a)
b)
c)
d)
Calculez le montant total de son épargne à la fin de n années.
Écrivez une fonction R calculant ce montant.
Exécutez votre fonction pour des valeurs de votre choix.
Spécifiez des valeurs par défaut pour votre fonction et exécutez alors votre fonction avec ou
sans les arguments par défaut.
PPP
Exercice 2. Le crible d’Eratosthène
a) Écrivez une fonction listant les nombres premiers inférieurs à N en vous servant du crible
d’Eratosthène.
Remarque : Pour que cet exercice vous soit réellement profitable, je vous suggère de ne pas
regarder le code du cours mais de le faire par vous même ! ! !
b) Afin de rendre votre code plus lisible, définissez à l’intérieur de votre fonction précédente une
nouvelle fonction permettant d’ôter les entiers indésirables du crible.
PPP
Exercice 3. Méthode de la dichotomie
Afin de trouver le zéro d’une fonction (continue), la méthode de la dichotomie peut être une
alternative à l’algorithme de Newton.
a) Si vous n’êtes pas familier avec cette méthode, allez trouver de la documentation sur internet.
b) Écrivez une fonction trouvant le zéro d’une fonction fournie par l’utilisateur.
c) Essayez votre code avec la fonction f (x) = x3 + 2x2 − 7 dont nous savons qu’un zéro appartient
à [0, 2]. Une précision à 10−6 est demandée.
d) Essayez avec d’autres fonctions de votre choix.
e) Lisez la documentation de la fonction stop() et servez vous en afin de renvoyer une erreur si
les bornes initiales sont invalides.
f) Comparez vos résultats avec la fonction uniroot().
PPP
Exercice 4. Ensemble de Julia
L’ensemble de Julia est une généralisation de l’ensemble de Mandelbrot que nous avons croisé en
cours. De manière non formelle, l’ensemble de Julia pour une fonction (rationnelle) complexe f
donnée est formé des points z ∈ C tels que les suites
zn+1 = f (zn ),
z0 = z∗ ∈ C
zn+1 = f (zn ),
z0 = z∗ + ε ∈ C
1
ont un comportement totalement différent .
Pour ce qui nous concerne, nous allons nous restreindre au cas où f (z) = z 2 + c. Notons donc
au passage que l’ensemble de Mandelbrot est l’ensemble des points c ∈ C tel que la suite {zn } est
bornée avec z0 = 0. En quelque sorte pour l’ensemble de Mandelbrot on fixe le z0 et on trouve les
points c alors que pour l’ensemble de Julia, on fait l’inverse.
a) Sachant que la méthode pour représenter les ensembles de Julia est exactement la même que
pour l’ensemble de Mandelbrot, écrivez une fonction permettant de définir les ensembles de
Julia.
Remarque : Là encore pour que cet exercice vous soit vraiment profitable, essayez par vous
même d’écrire cette fonction sans regarder le cours. . .
b) Essayez avec c = −0.74543 + 0.11301i et c = −0.1 + 0.651i.
Remarque : Vous pourrez utiliser la fonction image pour faire une représentation graphique de
ces ensembles.
c) Regardez l’évolution de ces ensembles lorsque le nombre d’itérations augmente.
d) Pouvez vous écrire un code ne comportant qu’une boucle for—et non deux comme je suppose
que vous l’avez fait. . . Comparez la vitesse de ces deux codes et commentez.
PPP
Exercice 5. Les polynômes
a) Écrivez une fonction qui évalue en un point x un polynôme de la forme
P (x) = c1 + c2 x + c3 x2 + · · · + cn xn .
Votre fonction, nommée polydirect, devra prendre en argument x et le vecteur des coefficients
c1 , . . . , c n .
b) Lorsque n est grand, il existe une méthode plus efficace pour évaluer un polynôme : la règle
d’Horner, i.e.,
1. Poser an ← cn ;
2. Pour i = n − 1, . . . , 1, poser ai ← ai+1 x + ci ;
3. Retourner a1 —qui est en fait la valeur de P (x) !
Écrivez une fonction, nommée polyHorner, qui évalue le polynôme P en x selon cette règle.
c) Si ce n’est pas le cas, modifiez en conséquence les deux fonctions précédentes de telle sorte que
si x est un vecteur, les fonctions renvoient un vecteur également.
PPP
Exercice 6. Matrice stochastique
Considérons la matrice suivante

0, 1
0, 4
P =
0, 3
0, 2
0, 2
0, 1
0, 4
0, 3
0, 3
0, 2
0, 1
0, 4

0, 4
0, 3
.
0, 2
0, 1
Cette matrice est en fait une matrice stochastique, i.e., toutes les entrées sont positives et les lignes
somment à 1. 1
1. Si vous êtes curieux, votre prof pourra vous donner de plus amples détails sur son utilité.
2
a) Utilisez la fonction apply() pour vérifier que c’est bien une matrice stochastique.
b) Calculez P n pour n = 2, 3, 5, 10. Que constatez vous ?
c) Trouvez un vecteur x dont les éléments sont non négatifs et somment à 1 vérifiant
(Id − P )x = 0.
PPP
où Id est la matrice d’identité. Que pouvez vous dire de x ?
3
Téléchargement