- Poids/Scilab
-
Poids/Scilab
Le programme Scilab suivant a été utilisé pour l'article Poids, pour déterminer les maximum et minimum de g et l'angle maximum de g avec la verticale. Il est donné à des fins de contrôle (rectification d'une possible erreur).
On considère ici un modèle très simplifié de la Terre :
- Terre sphérique de rayon constant R = 6 380 km ;
- vitesse de rotation de 2π radians par un jour, un jour faisant 24 h de 3 600 s chacune ;
- l'axe y est l'axe de rotation de la Terre, l'axe x est dans le plan de l'équateur.
// ********** Constantes R = 6.38e6; // rayon de la Terre en m omega = 2*%pi/(24*3600); //vitesse de rotation de la Terre M = 5.98e24; // masse de la Terre en kg G = 6.67428e-11; // constante gravitationnelle en m3kg-1s-2 g1 = G*M/R^2; // partie constante de l'accélération de la gravité // ********** Fonctions // rayon du point par rapport à l'axe de rotation // à la latitude a function [y] = rayon(a) y = R*cos(a); endfunction // accélération centrifuge // à la latitude a function [y] = accelerationcentrifuge(a) y = omega^2*rayon(a); endfunction // ********** Programme principal alpha=0:0.0001:%pi/2; // latitude de 0 à 90° // initialisation des valeurs extrêmes anglemax=0; latitudeanglemax=0; gmin=10; latitudegmin=0; gmax=9; latitudegmax=0; for latitude=alpha g2=accelerationcentrifuge(latitude); g1x=-g1*cos(latitude); // accélération selon x due à l'attraction terrestre seule gx=g1x+g2; gy=-g1*sin(latitude); norme=sqrt(gx^2 + gy^2); // accélération de la gravité totale angle=acos((gx*g1x + gy^2)/(g1*norme)); // angle entre l'accélération de la gravité // et la verticale (à partir du produit scalaire) // détermination des extrema if angle>anglemax then anglemax=angle; // écart maximum à l'axe point-centre de la Terre latitudeanglemax=latitude; // latitude où l'on a cet angle maximal end if norme>gmax then gmax=norme; // norme maximale de g latitudegmax=latitude; // latitude où l'on a cette norme maximale end if norme<gmin then gmin=norme;// norme minimale de g latitudegmin=latitude; // latitude où l'on a cette norme minimale end end // affichage des résultats gmax latitudegmax*180/%pi gmin latitudegmin*180/%pi anglemax latitudeanglemax*180/%pi
Les résultats obtenus sont les suivants :
gmax = 9.8053759 ans = 89.994481 gmin = 9.7716353 ans = 0. anglemax = 0.0017235 ans = 44.948539
On remarque que la gravité maximale est inférieure à la gravité mesurée aux pôles (9,83 m⋅s-2), probablement en raison de l'hypothèse de rayon constant.
Catégories : Logiciel de statistiques | Logiciel scientifique libre | Logiciel de calcul numérique | Physique
Wikimedia Foundation. 2010.