Vous êtes sur la page 1sur 3

Département de mathématiques et de génie industriel

École Polytechnique de Montréal


MTH2210A-CALCUL SCIENTIFIQUE POUR INGÉNIEURS
DEVOIR
2 décembre 2019

Directives : Vous avez trois heures pour compléter les deux exercices de ce devoir. À la
fin de la séance, vous devez remettre sur MoodleQuiz la version PDF de votre rapport de
laboratoire. Rédigez et présentez votre rapport en utilisant la fonction publish de Mat-
lab. Voir le fichier RapportDev.m. Vous devez utiliser les fonctions de la bibliothèque
numérique du cours et le logiciel Matlab. Le fichier RapportDev.m et les fonctions utiles
pour le devoir sont disponibles dans la bibliothèque numérique du cours sur le site Moo-
dleQuiz.

1. Nous cherchons un algorithme pour estimer la valeur de π .


(a) Une méthode est basée sur le fait que le périmètre d’un cercle de rayon 12 est
π . Pour estimer la valeur de π , il suffit alors d’estimer le périmètre d’un cercle
de rayon 12 . L’idée est donc d’inscrire des polygones réguliers dans le cercle et
de calculer le périmètre du polygone. En augmentant le nombre de côtés du
polygone, on s’approche de plus en plus du périmètre du cercle et donc de
n
π . Nous
√ noterons pn le périmètre du polygone ayant 2 côtés (par exemple,
p2 = 2 2) et on assumera que la formule de récurrence suivante est vraie :
v  s 
u 2
pn 
u 
pn+1 = 2n t2 1 − 1 − , pour n = 2, 3, ... (1)
u
2n

20 )
( 2,5 i) Écrire un programme Matlab qui calculera pn pour n = 3, 4, ..., 30 en
utilisant l’algorithme (1). Le programme devra présenter à l’aide de la com-
mande fprintf les résultats dans un tableau de trois colonnes comportant
les valeurs de n, pn ainsi que l’erreur absolue commise.
( 1,5
20 ) ii) Commenter les résultats obtenus et expliquer toute anomalie.

(b) On peut aussi utiliser une méthode aléatoire pour estimer la valeur de π . En
effet, en utilisant cette fois un cercle de rayon 1, on constate que ce cercle est
lui-même inscrit dans un carré de côté 2. L’aire de ce cercle est π . Si on lance
au hasard une fléchette dans le carré, la probabilité p de toucher le cercle est
simplement
aire du cercle aire du cercle π
p= = = .
aire du carré 4 4
Cette probabilité peut aussi s’exprimer par une expérience aléatoire. Si on lance
n fléchettes dans le carré, on aura :
nombre de fléchettes dans le cercle
p'
n
de sorte que

nombre de fléchettes dans le cercle


π ' 4p ' 4 × . (2)
n
( 20
3
) i) Écrire un programme Matlab qui réalisera cette expérience. Utiliser la
fonction Matlab rand qui génère un nombre aléatoire entre 0 et 1. La
commande Matlab « 2*rand(1,1)-1 » donne un nombre aléatoire dans
l’intervalle [−1 , 1]. En appelant la fonction deux fois, vous générez les
coordonnées (xi , yi ) d’un lancer de fléchette. Estimer ainsi la valeur de
π à l’aide de l’équation (2) pour n = 50, 500, 5000, 50000 et 500000. Le
programme devra présenter à l’aide de la commande fprintf les résul-
tats dans un tableau de trois colonnes comportant les valeurs de n, des
approximations de π ainsi que les erreurs absolues commises.
Note : Comme la fonction Matlab rand génère un nombre aléatoire, les
données devraient changer si vous répétez l’exercice.
( 20
1
) ii) Est-ce que cet algorithme est satisfaisant ? Justifier votre réponse.

Le rapport doit contenir : le programme Matlab, le tableau et la discussion à la


question (a) ; le programme Matlab, le tableau et la discussion à la question (b).

2. Un pendule simple est constitué d’une masse m = 1 kg suspendue à un fil de


longueur l = 1 m. On écarte le pendule d’un angle de θ0 (en radian) par rapport à
la verticale et on le lâche sans vitesse initiale. Si l’on néglige les frottements dus
à l’air, on peut montrer que l’écart angulaire θ(t) (en radian) entre la position du
pendule et la verticale est la solution du problème de valeurs initiales :

g sin (θ(t))
θ 00 (t) + = 0, θ(0) = θ0 , θ 0 (0) = 0, (3)
l
où g = 9,8 m/s2 .
L’équation différentielle est non linéaire et ne possède pas une solution simple.
Toutefois, dans la limite des petites oscillations, on peut supposer que

sin (θ(t)) ' θ(t).

Il en résulte un problème linéaire qui possède la solution analytique

g
r 
θ(t) = θ0 cos t . (4)
l
Cette solution décrit le mouvement périodique du pendule et la période est
s
l
T = 2π .
g

On se propose dans cet exercice de comparer l’approximation numérique du mou-


vement réel du pendule avec celui donné par le problème simplifié.

Page 2
(a) Pour les conditions initiales θ(0) = θ0 = 0,1 rad et θ 0 (0) = 0 rad/s.
( 20
4
) i) Résoudre le problème (3) dans l’intervalle de temps [0 , 10] à l’aide de la
méthode de Runge-Kutta d’ordre 4. Faire plusieurs essais pour choisir le
nombre de pas de temps.
( 20
2
) ii) Tracer sur le même graphique le graphe de l’approximation numérique de
l’angle θ(t) obtenu et celui donné par l’équation (4) (solution du problème
linéaire). Commenter les résultats obtenus.
( 20
1
) iii) En vous servant des résultats obtenus, tracer sur un autre graphique le
graphe de l’énergie mécanique du pendule

1
Em = m(lθ 0 (t))2 + mgl(1 − cos (θ(t))
2
en fonction du temps sur l’intervalle [0 , 10].
(b) Pour les conditions initiales θ(0) = θ0 = 1,5 rad et θ 0 (0) = 0 rad/s.
( 20
1
) i) Résoudre le problème (3) dans l’intervalle de temps [0 , 10] à l’aide de la
méthode de Runge-Kutta d’ordre 4. Faire plusieurs essais pour choisir le
pas de temps.
( 20
1
) ii) Tracer sur le même graphique le graphe de l’approximation numérique de
l’angle θ(t) obtenu et celui donné par l’équation (4) (solution du problème
linéaire).
( 20
1
) iii) En vous servant des résultats obtenus, écrire un programme qui permet de
calculer une approximation de la période du mouvement du pendule.
( 20
1
) iv) Commenter les résultats obtenus.
( 20
1
) (c) Quelles conclusions peut-on tirer des résultats obtenus aux questions (a) et (b) ?

Le rapport doit contenir : le fichier de la fonction du système d’équations différen-


tielles et le programme Matlab à la sous-question (a(i)) ; le programme Matlab,
le graphe produit et la discussion à la sous-question (a(ii)) ; le programme Matlab
et le graphe produit à la sous-question (a(iii)) ; le programme Matlab à la sous-
question (b(i)) ; le programme Matlab et le graphe produit à la sous-question (b(ii)) ;
le programme Matlab et l’approximation de la période à la sous-question (b(iii)) ; la
discussion à la sous-question (b(iv)) ; finalement, la discussion à la question (c) ;

Les professeurs du cours MTH2210A

Page 3

Vous aimerez peut-être aussi