Telechargé par fotsopaulin47

DS2005

publicité
DS de maple
(lundi 23 mai 2005, de 13 h 30 à 14 h 30)
Calcul numérique d’une intégrale.
1) On désire calculer numériquement
1
∫0
dx
. Ecrire la commande.
1 − x4
1
1 1
2) La réponse à cette commande est B , . Que faire ?
4
4 2
( )
Algorithmique
1) Si L est une liste, comment désigne-t-on le troisième élément de cette liste ?
2) Soit une liste de 347 points, chaque point étant une liste de ses deux coordonnées entières x , y . Ecrire un
programme qui calcule une nouvelle liste de 347 points, chaque point se déduisant de son homologue de la première
liste et ayant pour coordonnées x , x × y .
3) Soit t un tableau indicé de 1 à N , contenant des entiers et p un entier. Ecrire une procédure de paramètres t , N
et p qui retourne true si p est un élément de t et false dans le cas contraire. On utilisera une boucle while pour éviter
d’examiner le reste du tableau si on a trouvé l’élément.
Cinétique d’ordre 2.
1) Soit k et c0 deux constantes positives. Lors d’une cinétique chimique, une concentration c évolue au cours du
dc
temps t selon − = kc 2 . Résoudre analytiquement cette équation différentielle, avec la condition initiale c = c0 .
dt
2) En déduite l’instant t1 pour lequel c = c0 / 2 .
3) Tracer le graphe de c ( t ) entre les instants 0 et 5t1 .
Le chien et le lapin.
Un lapin A court le long du grillage circulaire de centre C et de rayon R qui entoure un pré avec la vitesse angulaire
constante ω positive. Un chien M part d’un point M0 du grillage tel que ( AC , AM 0 ) = θ0 et court en direction du
lapin avec une vitesse u de module constant et inférieure à celle du lapin.
Plaçons nous dans le référentiel tournant lié à AC et repérons le chien par ses coordonnées polaires par rapport au
lapin r = AM et θ = ( AC , AM ) . Choisissons comme unité de longueur le rayon du pré et comme unité de vitesse
celle du lapin. Les équations en coordonnées polaires du mouvement du chien sont :
dr
= −u + sin θ
dt
dθ
cos θ
=
−1
dt
r
1) Résoudre numériquement ces équations pour u = 0, 5 et θ 0 = 0 (la résolution analytique échoue).
2) Afficher la trajectoire du chien.
3) Ecrire une procédure dont les paramètres sont u , θ 0 et la durée maximale étudiée et qui retourne un objet de type
plot représentant la trajectoire du chien.
4) Afficher la trajectoire du chien et le grillage pour u = 0, 5 et θ 0 = 0 en utilisant cette procédure.
Corrigé
A.1.
> int(1/sqrt(1-x^4),x=0..1);
1 ⎛1 1⎞
Β⎜ , ⎟
4 ⎜⎝ 4 2 ⎟⎠
A.2.
> evalf(int(1/sqrt(1-x^4),x=0..1));
1.311028777
B.1.
L[3]
B.2.
> for i to 5 do L[i]:=[L[i,1],L[i,1]*L[i,2]] od:
B .3.
> existe:=proc(t ::array(integer),N ::integer,p ::integer)
local i:
i:=1:
while i<=N and t[i]<>p do i:=i+1 od:
evalb(i<=N):
end:
C.1.
> sol:=dsolve({diff(c(t),t)=-k*c(t)^2,c(0)=c0},c(t));
1
sol := c( t ) =
kt+
1
c0
C.2. et 3.
> assign(sol):
t1:=solve(c(t)=c0/2,t);
t1 :=
1
k c0
plot(subs(k=1,c0=1,c(t)),t=0..subs(k=1,c0=1,t1)*5,0..1);
D.1.
> restart:with(plots):
sol:=dsolve({diff(r(t),t)=-0.5+sin(theta(t)),
diff(theta(t),t)=cos(theta(t))/r(t)-1,
theta(0)=0,r(0)=2},{r(t),theta(t)},numeric);
sol := proc (rkf45_x) ... end proc
D.2.
> odeplot(sol,[r(t)*cos(theta(t)),r(t)*sin(theta(t))],
0..20,scaling=constrained);
D.4.
> traj:=proc(u,theta0,duree)
local sol:
sol:=dsolve({diff(r(t),t)=-u+sin(theta(t)),
diff(theta(t),t)=cos(theta(t))/r(t)-1,
theta(0)=theta0,r(0)=2},{r(t),theta(t)},numeric);
odeplot(sol,[r(t)*cos(theta(t)),r(t)*sin(theta(t))],
0..duree,numpoints=200);
end:
D.5.
> display({traj(0.5,0,20),polarplot(2*cos(theta),
theta=-Pi/2..Pi/2)},scaling=constrained);
Téléchargement