\documentclass[12pt,a4paper]{article}
\usepackage{multicol}
\usepackage[french]{babel}
\newfont{\mini}{cmssi10 scaled 480}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\euro{\mbox{\textsf{C}\kern -2.33em{\raise0.24ex\vbox{\small\it =}}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fin{\nolinebreak \raise-0.1em\hbox{$\Box$}}
\def\stackunder#1#2{\mathrel{\mathop{#2}\limits_{#1}}}
\def\dual{ ^{\rm v}}
\def\bidual{ ^{\rm vv}}
\def\primedual{ ^{\prime \rm v}}
\def\ideal{{\cal J}}
\def\LL{{\cal L}}
\def\max{{\cal M}}
\def\quot#1#2{\mbox{\raise 0.1cm\hbox{$#1$}{\big /}\raise -0.1cm\hbox{$#2$}}}
\def\danger{{\Large \bf
    $\bigtriangleup$}\kern-0.32cm\raise0.05cm\hbox{\small
    !}\kern0.32cm\lower0.05cm\hbox{}}
%%%%%%%
\newlength{\largeurtmp}
\def\rela{\settoheight{\largeurtmp}{Z}{\rm Z} \kern -0.6\largeurtmp
  \raise 0.05cm\hbox{\tiny{\it /}}\kern 0.6\largeurtmp}
\def\petitrela{\settoheight{\largeurtmp}{Z}{\rm Z} \kern -0.4\largeurtmp
  \raise 0.05cm\hbox{\tiny{\it /}}\kern 0.4\largeurtmp}
\def\petitcomplex{{
    \settoheight{\largeurtmp}{$_C$}{\rm C}\kern -\largeurtmp
    \rule{0.25pt}{1.3\largeurtmp}\kern \largeurtmp}}
\def\complex{{
    \settoheight{\largeurtmp}{Q}{\rm C}\kern -0.66\largeurtmp
    \rule{0.25pt}{0.9\largeurtmp}\kern 0.66\largeurtmp}}
\def\ratio{{
    \settoheight{\largeurtmp}{C}{\rm Q}\kern -0.75\largeurtmp
    \rule{0.25pt}{0.9\largeurtmp}\kern 0.75\largeurtmp}}
\def\petitratio{{
    \settoheight{\largeurtmp}{C}{\rm Q}\kern -0.6\largeurtmp
    \rule{0.25pt}{0.6\largeurtmp}\kern 0.6\largeurtmp}}
\newcommand{\proj}{{\rm I} \! {\rm P}}
\newcommand{\reel}{{\rm I} \! {\rm R}}
\newcommand{\Fp}{{\rm I} \! {\rm F}_p}
\newcommand{\nat}{{\rm I} \! {\rm N}}
%%%%%%%%%%%%%%%Debut de macros de fiches d'exos
%%les macros sont \exo, \qu, \quskip \squ \qusqu \qusquskip
\newcounter{exo}
\newcounter{question}
\newlength{\lng}
\newcounter{sousquestion}
\setcounter{exo}{1}
\def\exo{

  \bigskip
  \noindent{\bf Exercice
    \Roman{exo}:}\addtocounter{exo}{1}\setcounter{question}{0}\nopagebreak 

  }
\def\exotitre#1{

  \bigskip
  \noindent{\bf Exercice
    \Roman{exo}: #1}\addtocounter{exo}{1}\setcounter{question}{0}\nopagebreak 

  }
\def\qu{

  \addtocounter{question}{1}\arabic{question})
  \setcounter{sousquestion}{1} }
\def\quskip{

  \bigskip
  \qu}
\def\squ{

  \settowidth{\lng}{\arabic{question})
  }\hspace{\the\lng}\alph{sousquestion}) \addtocounter{sousquestion}{1}} 
\def\qusqu{\qu\nopagebreak \vskip -1\baselineskip \squ}
\def\qusquskip{\quskip\nopagebreak \vskip -1\baselineskip \squ}

%%reference pour exos,squ \`a placer avant la question, qu est a placer apres
\def\labelexo#1{\expandafter\edef\csname refexo#1\endcsname {\Roman{exo}}}
\def\refexo#1{\csname refexo#1\endcsname}
\def\labelqu#1{\expandafter\edef\csname refqu#1\endcsname {\arabic{question})}}
\def\refqu#1{\csname refqu#1\endcsname}
\def\labelsqu#1{\expandafter\edef\csname refsqu#1\endcsname
  {\arabic{question}\alph{sousquestion})}} 
\def\refsqu#1{\csname refsqu#1\endcsname}  

%%%%%%%%%%fin de macros fiche d'exos
%%macros taille page
\newlength{\elargir}
\setlength{\elargir}{2.5cm}
\addtolength{\leftmargin}{-\elargir}
%%\addtolength{\hoffset}{-\elargir}
\addtolength{\oddsidemargin}{-\elargir}
\addtolength{\evensidemargin}{-\elargir}
\addtolength{\elargir}{\elargir}
\addtolength{\textwidth}{\elargir}
\addtolength{\textheight}{13\baselineskip}
\topmargin=-5\baselineskip
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
\everymath={\displaystyle}
\begin{document}
\noindent{\bf Universit\'e de Paris 7 \hfill \framebox{\Large \bf
    \hspace{ 1cm} TP12 Equa diff \hspace{1cm}}\hfill   agreg 2011 (F.Han\footnote{http://www.math.jussieu.fr/$\sim$han/agreg})}\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\code#1{{\tt #1}}
%% 
\columnsep 0.7cm

% restart;maple_mode(0);cas_setup(0,0,0,1,0,1e-10,10,[1,50,0,25],0,0,0); //radians,pas de cmplx, pas de  Sqrt
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\exotitre{M\'ethodes \`a un pas}
On consid\`ere une \'equation diff\'erentielle $y'=f(t,y)$ o\`u $t \mapsto y(t)$ est
$C^1$ et $f$ localement Lipschiztienne en $y$ et continue en $(t,y)$ sur
$I\times E$ o\`u $I$ est un intervalle de $\reel$ et $E$ un espace vectoriel norm\'e complet. 

Exemple 1: $y'=sin(t*y)$.

 On note $h$ un r\'eel strictement positif (le pas) et $t_{n+1}=t_n+h$, et
 $u_n$ la valeur approch\'ee de $y$ \`a l'\'etape $n$, et $f_n$ celle de $y'$.
\qu Puique l'on aura besoin d'\'evaluer de nombreuses fois $f$, il vaut mieux
d\'efinir une fonction plutot qu'un symbole. Cr\'eez la fonction $f_1: (t,y) \mapsto
sin(t*y)$.
% f1:=(t,y)->sin(t*y);//ou bien
% f1(t,y):=sin(t*y);
\qu Cr\'eez un point $M_0$ de coordonn\'ees $(0,0)$ avec une grosse roix
rouge (utilisez ALT k ou le menu d\'eroulant pour les attributs
graphiques). Comment peut on affecter aux variables $a,b$ les coordonn\'ees de 
$M_0$. Comment peut on faire cette double affectation en une seule fois?
% M0:=point(0,display=rouge+epaisseur_point_3);//utilser ATL k
%[a,b]:=coordinates(M0);
\qusqu M\'ethode d'Euler: $u_{n+1}= u_n+h.f_n$ ou bien $u_{n+1}= u_n+h.f_{n+1}$. Afin
de pouvoir modifier le pas on travaillera avec une variable $h$ affect\'ee pour
l'instant \`a la valeur $O.1$. Cr\'eez une fonction $PL(M_0;tmax,f,h)$ qui retourne la
liste des segments $M_n,M_{n+1}$ o\`u $M_n$ est le point $(t_n,u_n)$. On choisira
le point $M_0=(0,0)$ et on l'affichera avec une grosse croix rouge.
% h:=0.1;
% !s!<c>
%Attention a ne pas utiliser augment pour ajouter un element a la fin de la
%liste car c'est l'instruction pour concatener 2 matrices.
%!s!
%!s!<p>
%PL(M0,tmax,f,h):={
%local L,t,u,M;
%L:=[];[t,u]:=coordinates(M0);M:=t+i*u;
%while(t<tmax){
%   u:=u+h*f1(t,u);t:=h+t;
%   L:=[op(L),segment(M,t+i*u)];
%   M:=t+i*u;
%  }
%return L;
%}
%  !s!
\squ En mode g\'eom\'etrie \`a 2 dimensions, cr\'eez le point $M_0$, et \'etudiez la
fonction \'el\'ement pour affecter \`a $h$ une valeur variable entre $0.01$ et $0.1$
via un bouton. 
% !s!<g>
%M0:=point(0+0.5*i,display=rouge+epaisseur_point_3);
%h:=element(0.01..0.5,0.01);
%PL(M0,5,f1,h);
%!s!
\squ Placez vous en mode pointeur dans le menu, d\'eplacez le point $M_0$. Ajustez
le pas $h$ via le bouton.
\qu M\'ethode du trap\`eze: $u_{n+1}=u_n+\frac{h}{2}(f_n+f_{n+1})$
\qu M\'ethode de Heun: $u_{n+1}=u_n+\frac{h}{2}(f_n+f(t_{n+1},u_n+h.f_n)$
\qu Superposition, comparaison des m\'ethodes. Etudiez un exemple que l'on peut
r\'esoudre formellement et comparez avec la solution exacte. (Par exemple \`a
variables s\'eparables)
\end{document}

