Académique Documents
Professionnel Documents
Culture Documents
Dans ce TP, nous allons modéliser un cas particulier du pendule, le pendule chargé. Nous
considérons donc une tige rigide de longueur L, au bout de laquelle est accroché un corps
ponctuel de masse M et de charge q. Une deuxième charge Q est placé au point (xQ , yQ ) =
(1,5 L, 0) :
Question 1
Expression de l’énergie potentielle :
Vpesanteur = −M gh
V (θ)pesanteur = −M gL cos θ
1
p
Dans notre problème : r = (L sin θ − xQ )2 + (L cos θ + yQ )2
1 qQ
V (θ) = −M gL cos θ + p (1)
4π0 (L sin θ − xQ )2 + (L cos θ + yQ )2
Question 2
Les positions d’équilibre du pendule sont données par la première loi de Newton :
→
− →
−
ΣF = 0
d cos θ qQ d 1
f (θ) = M gL + p =0 (2)
dθ 4π0 dθ (L sin θ − xQ ) + (L cos θ + yQ )2
2
qQ xQ cos θ + yQ sin θ
f (θ) = sin θ + =0 (6)
4π0 M g [(L sin θ − xQ )2 + (L cos θ + yQ )2 ]3/2
√
On choisit la longueur L comme unité de mesure et la quantité q0 = 4π0 M gL comme
unité de charge. On prend q = q0 et Q = −2q0 . On peut donc réécrire (6) de la manière
suivante :
xQ cos θ + yQ sin θ
f (θ) = sin θ − 2 =0 (7)
[(sin θ − xQ )2 + (cos θ + yQ )2 ]3/2
En prenant xQ = 1, 5L et yQ = 0, l’équation (6) devient finalement :
3 cos θ
f (θ) = sin θ − =0 (8)
[(sin θ − 1, 5)2 + (cos θ)2 ]3/2
On développe les termes au carré du dénominateur et on obtient finalement :
3 cos θ
f (θ) = sin θ − =0 (9)
[3, 25 − 3 sin θ]3/2
2
Figure 1 – Force s’exerçant sur le pendule en fonction de l’angle
La charge q0 est la charge caractéristique donnant la force de Coulomb nécessaire pour faire
bouger la masse M, en effet on a :
q02
= Mg
4π0 L2
La suite du problème consistera à rechercher les valeurs de θ pour lesquelles f (θ) = 0, donc
les configurations d’équilibre.
3
Question 3
Le programme suivant permet de rechercher la racine d’une fonction par la méthode de la
dichotomie :
r = (b+a)/2;
Question 4
On teste le programme avec la fonction f (x) = x2 − 1, donc la racine exacte sur l’intervalle
[0, 2] est 1. L’exécution de la fonction racineDicho avec la fonction f(x) définie précédemment
sur l’intervalle [0, 2] rend bien la valeur 1 attendue.
Question 5
On utilise à présent le programme racineDicho développé précédemment pour déterminer
l’angle d’équilibre stable correspondant à f (θ) = 0.
4
Le programme rend la valeur 1.528539949778609 avec une précision de 10−4 .
30 cos θ
f (θ) = sin θ − =0 (13)
[3, 25 − 3 sin θ]3/2
On calcul ainsi que sur cette planète, l’angle d’équilibre serait : θeq = 1.57, nettement
supérieur à celui calculé sur la Terre. On s’attendait bien à ce résultat, la force attirant le
pendule vers le sol étant plus faible.
Question 6
On va maintenant supposer q 6= q0 et on note q = λq0 . On obtient donc l’équation :
3 cos θ
f (θ) = sin θ − λ =0 (14)
[3, 25 − 3 sin θ]3/2
On définit une fonction qui prend en paramètre la valeur de λ et rend la valeur de l’angle
d’équilibre correspondante :
5
function [ thetaeq ] = lambdaThetaEq( lambda)
%----------------------------------------------------------------
% Fonction lambdaThetaEq par A. Neveu 2011
% Cette fonction calcul la valeur d'equilibre du pendule en fonction
% de la valeur de lambda entree en parametre
% Variable en entree : - lambda : charge de q dans le systeme d'unite q0
% Variable en sortie : - thetaeq : angle d'equilibre du pendule
% Usage : [thetaeq] = lambdaThetaEq(lambda)
%----------------------------------------------------------------
f = sin(theta) - lambda*(3.*cos(theta)./((-3*sin(theta)+3.25).^(3/2)));
end
end
6
Figure 3 – Évolution du nombre de configuration en fonction de lambda
On remarque que pour des valeurs de λ comprise entre 0 et 1, et notamment entre 0 et 0.5,
le nombre de positions d’équilibre varie en fonction de lambda.
7
Questions théoriques
1. La bibliothèque contient 5000 volumes de 200 pages, comprenant chacune 2000 caractères.
Il y a donc 5000 ∗ 200 ∗ 2000 = 2.109 caractères.
Le code utilisé pour représenter les caractères est le code ASCII. Celui ci représente un
caractères sur 1 octet. Nous avons besoin de 2.109 octets pour stocker tous les ouvrages
de la bibliothèque. Sachant que 1M o = 220 = 1048546 octets, nous avons donc besoin
d’environ 1907,3 Mo, soit 3 cds de 650 Mo, le dernier disposant d’encore d’environ 42,7
Mo d’espace libre.
2. Une matrice 1000x1000 contient 106 nombres. En double précision il faut 64 bits pour
représenter chaque élément de la matrice. La représentation de cette matrice nécessite
donc 64 ∗ 106 bits. Pour la stocker nous avons donc besoin de 8 ∗ 106 octets, soit environ
7,6 Mo.
4. Le nombre 93 s’écrit en binaire : 1.26 + 0.25 + 1.24 + 1.23 + 1.22 + 0.21 + 1.20 , soit 1011101.
1 1 0 1 1 0 1
x 1 0 1
1 0 1 1 1 0 1
0 0 0 0 0 0 0 0
1 0 1 1 1 0 1 0 0
1 1 1 0 1 0 0 0 1
Le nombre obtenu est donc 111010001. On peut vérifier en repassant en base 10 : 1.28 +
1.27 + 1.26 + 0.25 + 1.24 + 0.23 + 0.22 + 0.21 + 1.20 = 465. Le nombre 101 vaut 5 en base
10, et 93 ∗ 5 = 465 donc le calcul est vérifié.
1 1 1 0 1 0 0 0 1
+ 1 0 0 1
1 1 1 0 1 1 0 1 0
8
On obtient donc le nombre binaire 111011010. On peut vérifier en repassant en base 10 :
1.28 + 1.27 + 1.26 + 0.25 + 1.24 + 1.23 + 0.22 + 1.21 + 0.20 = 474. Le nombre 1001 vaut 9
en base 10, et 465 + 9 = 474 donc le calcul est vérifié.
ti
ti+1 = p 2 (2)
ti + 1 + 1
On écrit le programme suivant qui permet de calculer une approximation de Pi par ordi-
nateur avec la relation (1) :
function [ pi ] = arch1(i )
% ----------------------------------------------------------------
% Fonction arch1 par A. Neveu 2011
% Cette fonction calcul une approximation de pi par la formule
% de recurrence d'Archimede
% Variable en entree : - i : nombre d'iteration de la recurrence
% Varibale en sortie : - pi : approximation calculee de pi
% Usage : [pi] = arch1(i)
%-----------------------------------------------------------------
for n = 1:i
t = (sqrt(t^2+1)-1)/t;
end
pi = 6*(2^i)*t;
end
9
Figure 5 – Évolution de l’erreur sur pi calculée avec la relation (1)
function [ pi ] = arch2(i )
% ----------------------------------------------------------------
% Fonction arch2 par A. Neveu 2011
% Cette fonction calcul une approximation de pi par la formule
% de recurrence d'Archimede
% Variable en entree : - i : nombre d'iteration de la recurrence
% Varibale en sortie : - pi : approximation calculee de pi
% Usage : [pi] = arch2(i)
%-----------------------------------------------------------------
for n = 1:i
t = t./(sqrt(t.^2+1)+1);
end
pi = 6.*(2.^i).*t;
end
Avec relation (2), on atteint une précision de l’ordre de 3.55.10−15 , avec un i = 12.
On représente cette erreur sur le graphique suivant, et on peut remarquer que l’erreur
diminue jusqu’à atteindre un palier.
10
Figure 6 – Évolution de l’erreur sur pi calculée avec la relation (2)
Le programme ayant permis de représenter graphiquement l’erreur sur π calculée avec les
relations précédentes est le suivant (configurer pour le calcul de l’erreur avec la relation
(2) ) :
else
for i=1:imax
ev(i) = pi - arch2(i);
end
semilogy(1:imax,abs(ev));
end
end
11