

\chapterimage{notice}


\chapter{Premiers pas en 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 \verb+ Maple Input+. 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: \Verb+>+. 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{remarque}[Changer de ligne sans valider]
              On presse en
              même temps sur  \Shift et  \Enter.
               \end{remarque}
               %\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 \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{remarque}[Vous avez perdu le curseur]
            Réduisez votre fenêtre  puis maximisez-la à nouveau.
               \end{remarque}
               %\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 \Verb+plot+, puis selectionnez-la et tapez
  \keystroke{F1};
\item Tapez \Verb+?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 \Verb+:=+


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 \Verb+unassign('variable')+:

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


Pour libérer toutes les variables, on utilise \Verb+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 \Verb+-+ et \Verb+>+ pour faire \Verb+->+

\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}
  \Verb+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 \Verb+*+, la division avec \Verb+/+, les puissances avec \Verb+^+, la
racine carrée (~SQuare RooT en anglais...~) avec \Verb+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 \Verb+solve(équation,inconnue)+, calculer des limites
avec \Verb+limit(expression,x=a,direction)+ avec a un réel ou l'infini, \Verb+direction+ prenant
les valeurs \Verb+left+ ou \Verb+right+.

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


\medskip


Avec les  entiers, on utilisera  \verb+irem(a,b)+ pour obtenir  le reste
entier.  On  obtient le  même  résultat avec  \verb+a  mod  b+. Pour  le
quotient, c'est \verb+iquo(a,b)+:

\begin{lstlisting}[caption={}]
> irem(1258478957,12547);
\end{lstlisting}


\medskip


On  aura  parfois  besoin  de  simplifier une  expression  renvoyée  par
Maple.  On utilisera alors \verb+simplify+ ou bien parfois \verb+normal+ s'il
s'agit d'une fraction rationnelle.

\begin{lstlisting}[caption={}]
> g:=x->1/(1+x);
> e:=(g@@7)(x);
> normal(e);
\end{lstlisting}


L'opérateur de composition itérée est \verb+@@+
\subsection{Résolutions d'équations}

La commande magique est \Verb+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
\Verb+fsolve+.


\medskip


Pour  résoudre  une  équation  dans  $\bbz$,  on  utilise  \Verb+isolve+
(\Verb+i+ comme \textit{integer}):


\begin{lstlisting}[caption={}]
> isolve(51*x+44*y=1)
\end{lstlisting}


\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}

La commande  \verb+allvalues+ permet parfois  de remplacer \verb+RootOf+
par sa valeur:

\begin{lstlisting}[caption={}]
> e1:=x+y+z=1;
> e2:=x-y+z=2;
> e3:=x^2+1/y-1/z=2;
> sa:=fsolve({e1,e2,e3},{x,y,z});
> se:=solve({e1,e2,e3},{x,y,z});
> sv:=allvalues(se);
\end{lstlisting}


\section{Les graphes}

\subsection{En dimension 2}

La commande à utiliser est \Verb+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','ordonnee'],title='le beau dessin');
\end{lstlisting}


%\begin{figure}
              \begin{remarque}[L'accent grave]
              L'apostrophe    utilisée   s'obtient    avec
              \keystroke{Alt Gr}+\keystroke{7}+\keystroke{Espace}
               \end{remarque}
               %\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 \Verb+plot+.


Pour    des    fonctions    définies    par   morceaux,    on    utilise
\Verb+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.


Pour les courbes en polaire, on utilise l'option \verb+coords=polar+:

\begin{lstlisting}[caption={}]
plot(3*cos(t)-4*sin(t),t=0..2*Pi,coords=polar)
\end{lstlisting}

\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 \Verb+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 \Verb+display+ dans la bibliothèque
\Verb+plots+ qui n'est pas chargée par défaut avec la commande \Verb+with+ et lui indique l'option
\Verb+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 \Verb+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}




\vfill

\eject


\modeexercice % entre en mode exercice
\section{EXERCICES}


\begin{listeexercices}


\begin{exercice}

Explorez   les  fonctions   $$f~:~x\mapsto   x^4-2x^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{remarque}{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 \Verb+array(liste)+ crée un tableau.
               % \end{remarque}
               % %\end{figure}

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




\end{exercice}

%%

\begin{exercice}

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.



\end{exercice}

%%

\begin{exercice}

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  \Verb+piecewise, solve, limit+.  Pour avoir la  limite à
gauche en \Verb+xo+ on entre \Verb+limit(f(x),x=xo,left)+.




\end{exercice}

%%

\begin{exercice}

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.



\end{exercice}

%%

\begin{exercice}

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



\end{exercice}

%%

\begin{exercice}

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{exercice}




\begin{exercice}
Trouvez le dernier chiffre de l'écriture décimale de $$2007^{2011^{2013}}$$
\end{exercice}


\begin{exercice}

Vous  savez  que  Giralomo  \textsc{Cardano}  a établi  en  1547  qu'une
solution de l'équation $x^3+px+q=0$ est:

$$\sqrt[3]{\fr{-q}{2}+\sqrt{\fr{q^2}{4}+\fr{p^3}{27}}}+\sqrt[3]{\fr{-q}{2}-\sqrt{\fr{q^2}{4}+\fr{p^3}{27}}}$$ 

Sans utiliser la touche \verb+solve+, résolvez les équations:

\begin{questions}
  \item $(E_1)~:\ x^3-36x-91=0$
  \item  $(E_2)~:~x^3-15x-4=0$
\end{questions}

Vous pouvez essayer de prouver la formule en
  posant $x=u+v$ et en  résolvant un système d'équations d'inconnues $u$
  et $v$.


\end{exercice}


\begin{exercice}
  Dérivez $x^{\left(x^x\right)}$ deux fois puis intégrez deux fois. 

Faites de même avec $\left(x^x\right)^x$.

\end{exercice}


\begin{exercice}
  À l'aide de la fonction \verb+sum+, vérifiez que 
$$\sqrt{2}=\frac{7}{5}\left(1+\frac{1}{100}+\frac{1\times    3}{100\times
    200}+\frac{1\times 3\times 5}{100\times 200\times 300}+\cdots\right)$$
\end{exercice}

\begin{exercice}
  

La cycloïde est la courbe paramétrée définie par $\displaystyle \left\{ \begin{array}{l} x(t)=t-\sin(t)\\  y(t)=1-\cos(t) \\ \end{array} \right. $.
\begin{questions}
\item Tracer cette courbe pour $t\in [0,T]$, avec $T=15$.
\item Construire une animation de paramètre $t\in [0,T]$ dont le graphique au temps $t$ est constitué du cercle de rayon 1 et de centre $(t,1)$.
\item Construire une animation de paramètre $t\in [0,T]$ dont le graphique au temps $t$ est constitué du cercle de rayon $\varepsilon=0.08$ et de centre
$(x(t),y(t))$.
\item Construire une animation de paramètre $t\in [0,T]$ dont le graphique au temps $t$ est constitué du morceau de cycloïde délimité par les points $(0,1)$ et
$(x(t),y(t))$.
\item Afficher les trois animations sur un même graphique (à l'aide de la fonction {\fontfamily{cmtt}\selectfont display}).
\item Comment interpréter la cycloïde en terme de trajectoire ?
\end{questions}


\begin{flushright}
  \textit{Merci à Magali \textsc{Hillairet} pour ce bel exercice...}
\end{flushright}
\end{exercice}
\end{listeexercices}
\modenormal % restaure les définitions de sections, sous-sections, etc;




%%% Local Variables: 
%%% TeX-master: "PolyMaple10"
%%% End: 
