\documentclass[10pt,a4paper,landscape]{report}
%\usepackage[height=250mm,width=183mm]{geometry}
\usepackage[width=250mm,height=168mm]{geometry}
\usepackage{preambule}
\usepackage[upright]{fourier}
\graphicspath{{/home/moi/Figures/}}
\entete{TD Maple n°0}{Initiation}{PCSI 2 - Lycée Clemenceau}%g,d,b

\usepackage{index}
\makeindex
\renewindex{default}{idx}{ind}{Index des commandes vues aujourd'hui}

\newcommand{\indexkeywordsmaple }[1]{\index[default]{maple@\textbf{\large Commandes}!#1@\textcolor{red}{\texttt{#1}}|textbf}}

\newcommand{\indn }[1]{\index[default]{maple@{\large
      Notions }!#1@ #1}}

\newcommand{\indt }[1]{#1\index[default]{maple@{\large
      Touches }!#1@ #1}}


%%% Environnement des réponses du logiciel
\DefineVerbatimEnvironment{boxedverbatim}{Verbatim}{fontsize=\small,formatcom=\color{blue},fontshape=it,gobble=2,frame=single,framesep=4mm,label=\textit{\small \textcolor{black}{Réponse du logiciel}},xleftmargin=10pt,rulecolor=\color{black}}




\newcommand\Com[1]{%
\shorthandoff{;:}\textcolor{red}{{ \ttfamily #1}}\index[default]{maple@\textbf{\large Commandes}!#1@\textcolor{red}{\texttt{#1}}|textbf}}


%%% Com avec syntaxe
\newcommand\Comsi[2]{%
\shorthandoff{;:}\textcolor{red}{{ \ttfamily #1}}(\textcolor{red}{\texttt{#2}})\index[default]{maple@\textbf{\large Commandes}!#1@\textcolor{red}{\texttt{#1}}|textbf}}




%%%%%%  Commande personnelle ou bout de code

\renewcommand{\code}[1]{\textcolor{red}{\texttt{#1}}}





\newcommand{\maple}{\lstset{numbers=none,language=Maple,xleftmargin=10pt,%
keywordstyle
=\color{red}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily\color{red},commentstyle=\normalfont\small\itshape,breaklines=true,frame=trBL,framerule=1pt,framesep=4pt,rulesep=1pt,backgroundcolor=\color{white}}
}


\begin{document}
\setlength{\parindent}{0pt}
\thispagestyle{empty}

% \setcounter{NumLecon}{0}
%          \TITREC{TD Maple }{Initiation }{0.9white}
        

\begin{center}
  \fbox{\vtabplus \huge \bfseries TD MAPLE n°0 \hspace{5cm} INITIATION}
\end{center}


\vspace{1cm}


\setlength{\columnsep}{20pt}
\begin{multicols}{2}

\maple 

\section{Avant de commencer}        

\subsection{Entrée des instructions}


Maple  12  offre pas  mal  de  fioritures  d'écriture qui  peuvent  être
perturbantes.

Nous  choisiront  le  mode  le  plus basique  qui  nous  permettra  plus
facilement de repérer nos erreurs. Pour cela, il faut aller dans le menu
\verb+Tool/Options+ onglet \verb+Display+ option \verb+Input display+ où
on choisira \og Tetxt\fg{}. On peut aussi basculer en mode \og Text\fg{}
avec la touche \keystroke{F5}.




Toutes  les   instructions  sont   tapées  devant  un   \og  prompt\fg{}
(\emph{invite} en french) rouge~:~\Com{>}. Elles
s'affichent en rouge. On termine son instruction obligatoirement par un point-virgule (;) si l'on
veut que la réponse de MAPLE soit affichée, ou par deux points (:) si l'on veut que MAPLE exécute
notre instruction sans l'afficher. 

Toutes les instructions entre deux prompts représentent une cellule.

\begin{figure}
              \begin{Idee}{Changer de ligne sans valider}
              On presse en
              même temps sur  \indt{\Shift} et  \indt{\Enter}.
               \end{Idee}
               \end{figure}





Pour faire exécuter l'ensemble  d'une expression, on positionne le curseur sur  n'importe quelle
ligne de la cellule et on presse la touche \indt{\Enter}.

MAPLE répond en bleu.


Pour  utiliser   le  dernier  résultat   renvoyé  par  Maple   (au  sens
\emph{chronologique}),   on  utilise   \verb+%+,  pour   le  pénultième,
                                \verb+%%+,     pour     l'antépénultième
                                 \verb+%%%+, etc.


Par exemple, que répond la dernière instruction~?

\begin{lstlisting}
>  2*3; %*5; %%-2; %%-2;
\end{lstlisting}


\begin{figure}
              \begin{Idee}{Vous avez perdu le curseur}
            Réduisez votre fenêtre  puis maximisez-la à nouveau.
               \end{Idee}
               \end{figure}

\subsection{Aide en ligne}

Pour obtenir de l'aide, il y a trois possibilités~:
\begin{itemize}
\item Tapez la commande qui vous intéresse, par exemple \code{plot}, puis selectionnez-la et tapez
  \indt{\keystroke{F1}};
\item Tapez \code{?plot;} puis \Enter;
\item Cliquez sur \texttt{Topic search} du menu \texttt{Help}.
\end{itemize}




\subsection{Affectation}

Pour stocker une valeur (~un nombre, une fonction, un graphique, etc.~) en mémoire, on l'affecte à un
nom de variable (~une étiquette~) en utilisant le symbole \Com{:=}.


Par exemple, si l'on veut affecter la valeur 2 à la variable «~a~», on tape~:

\begin{lstlisting}
>  a:=2;
\end{lstlisting}
 et on obtient

 \begin{boxedverbatim}
  a:=2
 \end{boxedverbatim}



Pour ne pas afficher le résultat, on utilise «~:~» au lieu de «~;~».

On peut évaluer toute fonction de la variable «~a~»~:

\begin{lstlisting}
>  a; a^2; cos(a); a/2;
\end{lstlisting}


On peut être amené à libérer une variable de son contenu. On utilise \Comsi{unassign}{'variable'}~:

\begin{lstlisting}
>  unassign('a');
>  a; a^2;
\end{lstlisting}


Pour libérer toutes les variables, on utilise \Com{restart}.



Que se passe-t-il ici~:

\begin{lstlisting}
>  x:=1; y:=2;
>  x:=x+y;
>  y:=x-y;
>  x:=x-y;
\end{lstlisting}


et là :


\begin{lstlisting}
>  x:=100000; y:=0.0000002;
>  x:=x+y;
>  y:=x-y;
>  x:=x-y;
\end{lstlisting}




\subsection{Dangers de la modification d'une cellule}


Avec  Maple,  vous pouvez  revenir  sur  une  cellule précédente  et  la
modifier.


\begin{lstlisting}
>  a:=2;
>  b:=a+3;
>  c:=b^2;
>  a+1;
\end{lstlisting}

Ah ! Vous vous êtes trompé sur la valeur de a qui vaut en fait $-1$~: vous la modifiez puis
validez avec \Return. Qu'observez-vous~?

Conclusion~:~l'ordre chronologique ne correspond pas toujours au sens de
lecture de haut en bas de l'écran.




\subsection{Différents types de nombres}

Comparez~:

\begin{lstlisting}
>  1+1/2+1/3;
>  1.+1/2+1/3;
>  1+1/2.+1/3;
>  1.+sqrt(2);
>  1+sqrt(2.);
\end{lstlisting}

Il n'y  a rien de  très rigoureux là-dedans  : c'est du  100\% subjectif
made in Maple  mais il faut savoir comment Maple  choisit de traiter les
nombres.

Pour plus de sûreté, on utilisera \verb+evalf+~:

\begin{lstlisting}
>  evalf(sqrt(2));
>  evalf[100](sqrt(2));
\end{lstlisting}





\subsection{Fonction et expression}

On rentre une fonction comme on l'écrit. On utilise \Com{-} et \Com{>} pour faire \Com{->}

\begin{lstlisting}
>  f:=x->2*x+5;
>  f(5);
>  (f(a+h)-f(a))/h;
\end{lstlisting}

Il ne faudra pas confondre avec l'expression associée.

\begin{lstlisting}
>  restart;
>  f:=2*x+1;
>  f(5);
> (f(a+h)-f(a))/h;
\end{lstlisting}

Pour transformer une expression en fonction, on utilise~:
\begin{center}
  \Comsi{unapply}{expression,variable}
\end{center}
 

\begin{lstlisting}
>   f:=2*x+1;
>   f(5);
>   f:=unapply(f,x);
>   f(5);
\end{lstlisting}







\subsection{Opérations mathématiques de base}

La multiplication s'obtient avec \Com{*}, la division avec \Com{/}, les puissances avec \Com{\p}, la
racine carrée (~SQuare RooT en anglais...~) avec \Comsi{sqrt}{nombre}.

% \begin{figure}
%               \begin{DANGER}
%               Pour MAPLE,  \code{2x} ne représente  pas le produit  de 2
%               par x. 

% Il faut rentrer
%               \begin{lstlisting}
%                 2*x
%               \end{lstlisting}
%                \end{DANGER}
%                \end{figure}


On peut de plus résoudre des équations avec \Comsi{solve}{équation,inconnue}, calculer des limites
avec \Comsi{limit}{expression,x=a,direction} avec a un réel ou l'infini, \code{direction} prenant
les valeurs \Com{left} ou \Com{right}.

On calcule des dérivées avec \Comsi{diff}{f(x),x}, des intégrales avec \Comsi{int}{g(x),x} ou \Comsi{int}{g(x),x=-a..b}.

\subsection{Résolutions d'équations}

La commande magique est \Comsi{solve}{equation,variable}~:

\begin{lstlisting}
>  solve(x^2-2*x+2,x);
>  solve(x^2+x+1,x);
>  solve(x^2+b*x+c,x);
>  solve(x^2+b*x+c,b);
\end{lstlisting}


Il peut cependant y avoir quelques problèmes~:


\begin{lstlisting}
> solve(x^5+x^3-5*x+1,x);
> solve(ln(x)=cos(exp(x)),x);
\end{lstlisting}

On  peut cependant  demander  une valeur  approchée  des solutions  avec
\Com{fsolve}.


\medskip

Pour les systèmes, on utilise  les mêmes commandes mais avec une syntaxe
adaptée~:

\begin{lstlisting}
> solve({x+y=1,x-y=2},{x,y});
\end{lstlisting}




\section{Les graphes}

\subsection{En dimension 2}

La commande à utiliser est \Comsi{plot}{expression,xmin..xmax,options}. Les options sont nombreuses...

\begin{lstlisting}
>  plot(sin(x),x=-4*Pi..5*Pi);
>  plot(sin(x),x=-4*Pi..5*Pi,y=-2..5,color=wheat,labels=['abscisse','ordonnée'],title='le beau dessin');
\end{lstlisting}


\begin{figure}
              \begin{Idee}{L'accent grave}
              L'apostrophe    utilisée   s'obtient    avec
              \keystroke{Alt Gr}+\keystroke{7}+\keystroke{Espace}
               \end{Idee}
               \end{figure}

Modifier la fenêtre peut être très utile. Par exemple, comment remédier à ce problème~:

\begin{lstlisting}
>  plot(tan(x),x=-2*Pi..2*Pi);
\end{lstlisting}

On peut superposer des graphes~:

\begin{lstlisting}
>  plot([sin(x),cos(x)],x=-3*Pi..2*Pi);
>  plot([sin(x),cos(x)],x=-3*Pi..2*Pi,color=[navy,wheat],linestyle=[2,3]);
\end{lstlisting}

pour plus de précisions, allez voir l'aide de \Com{plot}.


Pour    des    fonctions    définies    par   morceaux,    on    utilise
\Com{piecewise}. Par exemple~:

\begin{lstlisting}
restart:
> f:=x->piecewise(x<2,x*sin(x),x>=2,3*x^2+1);
> plot(f(x),x=-4..4,y=-10..30,discont=true); 
\end{lstlisting}


Certaines courbes  sont définies implicitement  par une équation  qui ne
correspond pas  à une fonction.  Par exemple, pour un  cercle d'équation
$x^2+y^2+x-3=0$~:


\begin{lstlisting}
>  with(plots):
> implicitplot(x^2+y^2+x-3=0,x=-5..5,y=-2..2,color=blue);
\end{lstlisting}

On  peut  définir  des  fonctions  à  l'aide  de  procédures  (que  nous
étudierons bientôt...)


\begin{lstlisting}
>  F:=proc(x)
     if x<=0 then x+1
     else sin(x)/x
     fi
   end:
\end{lstlisting}



On peut alors obtenir le graphe avec au choix~:

\begin{lstlisting}
>  plot(F,-3..3)
\end{lstlisting}

ou

\begin{lstlisting}
>  plot(evaln(F(x)),x=-3..3)
\end{lstlisting}

Notez la différence...\verb+evaln+ signifiant \og evaluate as a name\fg{}

% \subsection{En dimension 3}

% Pour des fonctions de $\bbr^2$ dans $\bbr$, on utilise

% \begin{center}
%   \Comsi{plot3d}{expression,x=xmin..xmax,y=ymin..ymax}~:
% \end{center}

% \begin{lstlisting}
%   plot3d(cos(x)*sin(y),x=-5..5,y=-5..5);
% \end{lstlisting}

% Un clic droit vous permet d'accéder à différentes options.

\subsection{Animations}

On peut créer une animation  en créant une séquence de graphes dépendant
d'un paramètre.


On va utiliser \Comsi{seq}{expression dépendant de a, valeurs prises par a}

Par exemple~:

\begin{lstlisting}
>  g:=seq(plot(sin(a*x),x=-5..5),a=[-1,0,1,2,3,4,5]):
\end{lstlisting}



Pour afficher l'animation, on doit aller chercher la commande \Com{display} dans la bibliothèque
\Com{plots} qui n'est pas chargée par défaut avec la commande \Com{with} et lui indique l'option
\code{insequence=true} pour ne pas afficher tous les graphes en même temps~:

\begin{lstlisting}
>  with(plots):
>  display(g,insequence=true);
\end{lstlisting}


Vous cliquez sur le graphe et une barre d'icône apparaît pour lancer l'animation.

Il n'y a pas assez de valeurs de a. On peut en créer toute une série avec \Com{seq}~:

\begin{lstlisting}
>  g:=seq(plot(sin(a*x),x=-5..5),a=[seq(-1+0.01*h,h=0..100)]):
\end{lstlisting}



\section{Quelques erreurs types}

Voici une série d'erreurs que l'on retrouve souvent : il faut savoir les corriger seul(e)...

Partons d'un code correct~:

\begin{lstlisting}
>  f:=x->sin(x)/x;
>  a:=20;
>  plot(f(x),x=-a..a);
\end{lstlisting}


Ça marche.

Mais 

\begin{lstlisting}
>   restart;
>   f:=x->sin(x)/x;
>   a=20;
>   plot(f(x),x=-a..a);
\end{lstlisting}
 ne marche plus~:~pourquoi~?

Et pour ceci ~:

\begin{lstlisting}
>   restart;
>   f=x->sin(x)/x;
>   a:=20;
>   plot(f(x),x=-a..a);
\end{lstlisting}

Le message d'erreur est différent mais c'est le même type d'erreur.

La plus fréquente des erreurs~:

\begin{lstlisting}
>  a:=20
\end{lstlisting}

à égalité avec celle-ci~:

\begin{lstlisting}
>  restart;
>  f:=x->sin(x)/x;
>  a:=20;
>  plt(f(x),x=-a..a);
\end{lstlisting}



Sans oublier celle-ci~:

\begin{lstlisting}
>  restart;
>  f:=x->sin(x)/x;
>  a:=20;
>  plot(,x=-a..a);
\end{lstlisting}





\section{Exercices}

% \exot{}

% Regardez l'aide pour \Com{evalf} et calculez $\pi$ avec une précision de 1000 chiffres.



\exot{}

Explorez   les  fonctions   $f~:~x\mapsto   x^4-2*x^2+3$,  $g~:~x\mapsto
\sqrt{\frac{x^2-2x+2}{x^2+4}}$, $h~:~x\mapsto \arcsin(x)-\ln(x)$~:~limites, dérivées, signe de la dérivée, graphe...

\begin{figure}
              \begin{Idee}{Tableau de valeurs}
              On peut procéder ainsi~:

          \begin{lstlisting}
        > f:=x->1/(x-1/2):
        >   valx:=[1,2,3,5,10,15,20,100]:
        >   valfx:=seq([x,f(x)],x=valx):
        >   titre:=['x','f(x)']:
        >   array([titre,valfx]);
              \end{lstlisting}

sachant que \Comsi{array}{liste} crée un tableau.
               \end{Idee}
               \end{figure}

Définissez également un tableau de valeurs pour les trois fonctions.


\exot{}

La position  d'un mobile  en mouvement harmonique  amorti est  donné par
l'équation~:~\[x(t)=\E^{-0,1t}\left(\frac{2}{3}\sin(10t)+\frac{4}{5}\cos(10t)\right)\]

Déterminez les trois premiers instants où la vitesse du corps est nulle.

\exot{}

Trouvez  les constantes  $a$ et  $b$  qui rendent  la fonction  suivante
continue sur $\bbr$ à l'aide de MAPLE~:

\[f(x)=\begin{cases}x^2+bx+1
  \text{ si }x<5\\8\text{ si }x=5\\ax+3\text{ si }x>5\end{cases}\]

Vous utiliserez  \Com{piecewise, solve, limit}.  Pour avoir la  limite à
gauche en xo on entre \Com{limit(f(x),x=xo,left)}.


\exot{}

Trouvez  les  constantes  $a$,  $b$  et  $c$ telles  que  le  graphe  de
$f~:~x\mapsto3x^4+ax^3+bx^2+cx+d$  ait  des  tangentes  horizontales  en
$(2\pv -3)$ et $(0\pv 7)$. Tracez le graphe associé. Il y a un troisième
point  où la  tangente est  horizontale~:~trouvez-le~!  Vérifiez ensuite
s'il s'agit de maxima ou de minima relatifs ou ni l'un ni l'autre.

\exot{}

Parmi les exercices d'analyse  faits en classe, reprenez ceux où MAPLE aurait pu vous aider.

\exot{}

On considère la fonction $f~:~x\mapsto x^3-2x^2+1$. Créez une animation permettant  de comparer
différentes sécantes passant par le point de coordonnées $(2,f(2))$ et la tangente à $\CR_f$ en ce
même point.


















\end{multicols}

% \pagebreak

% \printindex

\end{document}
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
