PC - T D - Changements de r´ef´erentiels - R´ef´erentiels non galil´eens 2
On d´efinit en param`etres (en dehors de toute fonction)
g,h,L,omega,pas=9.81,158,51,2*pi/(3600*24),0.01
o`u pas est le pas de la r´esolution num´erique.
(a) D´efinir une fonction chute gal qui pour un instant trenvoie l’altitude zsi on consid`ere le r´ef´erentiel galil´een.
(b) Apr`es avoir d´efini les conditions initiales en zet en t, proposer une boucle qui permet de calculer une liste
(ou un array) de valeurs de zet une liste (ou un array) de valeurs de ttant que z > 0.
(c) Demander l’affichage du graphe repr´esentant zen fonction du temps.
(d) On consid`ere maintenant que le r´ef´erentiel terrestre n’est pas galil´een et qu’il est n´ecessaire de tenir compte
de la Force de Coriolis lors de la chute.
i. D´eterminer le syst`eme d’´equations diff´erentielles liant les composantes de l’acc´el´eration (¨x, ¨y, ¨z) aux
composantes la vitesse ( ˙x, ˙y, ˙z).
ii. On d´efinit en langage Python un array Y tel que Y(t) = (x(t), y(t), z(t),˙x(t),˙y(t),˙z(t)). Montrer que
dY(t)
dt=f(Y(t), t). Expliciter la fonction f
iii. On donne les premi`eres lignes de l’aide de la fonction odeint de la biblioth`eque scipy.integrate :
Help on function odeint in module scipy.integrate.odepack:
odeint(func, y0, t, args=(), Dfun=None, col_deriv=0, full_output=0, ml=None, mu=None,
rtol=None, atol=None, tcrit=None, h0=0.0, hmax=0.0, hmin=0.0, ixpr=0, mxstep=0,
mxhnil=0, mxordn=12, mxords=5, printmessg=0)
Integrate a system of ordinary differential equations.
Solve a system of ordinary differential equations using lsoda from the
FORTRAN library odepack.
Solves the initial value problem for stiff or non-stiff systems
of first order ode-s::
dy/dt = func(y,t0,...)
where y can be a vector.
Parameters
----------
func : callable(y, t0, ...)
Computes the derivative of y at t0.
y0 : array
Initial condition on y (can be a vector).
t : array
A sequence of time points for which to solve for y. The initial
value point should be the first element of this sequence.
args : tuple, optional
Extra arguments to pass to function.
Dfun : callable(y, t0, ...)
Gradient (Jacobian) of ‘func‘.
col_deriv : bool, optional
True if ‘Dfun‘ defines derivatives down columns (faster),
otherwise ‘Dfun‘ should define derivatives across rows.
full_output : bool, optional
True if to return a dictionary of optional outputs as the second output
printmessg : bool, optional
Whether to print the convergence message
Returns
-------
y : array, shape (len(t), len(y0))