TP 1: PRISE EN MAIN DE SCILAB
1. Objectifs

    La nouvelle epreuve orale d'agrégation comporte une partie sur machine destinée à illustrer une leçon de modélisation ou un texte scientifique à travers un thème applicatif. L'étudiant disposant de 4 heures pour préparer le tout doit donc consacrer une partie de ce temps à réaliser un petit programme avec un logiciel de calcul scientifique (Matlab ou Scilab) et/ou  un logiciel de calcul formel (Maple).

2. Moyens informatiques

    Les moyens informatiques mis à la disposition du candidat consistent en un PC fonctionnant sous Windows 98 ou Linux et équipé d'une imprimante postscript noir et blanc. Les logiciels installés sont d'une part Scilab 2.5 et Matlab 5 et d'autre part Maple V dans sa version étudiante. Les éditeurs de texte sont à choisir parmi bloc note et edit pour Windows  ou Emacs et vi pour Linux.

3. Présentation de Scilab

   Scilab est un logiciel de calcul numérique distribué gratuitement par l'INRIA. Il propose une aide en ligne et une série de démos accessibles avec la barre de menu.  Le logiciel, une fois lancé, se présente sous la forme d'une fenêtre de commande où peut être exécutée toute instruction.  Afin d'éxecuter une série d'instructions (ou script),  il est cependant préférable d'écrire celles-ci au préalable dans une autre fenêtre d'édition et de lancer le script dans la fenêtre principale avec l'instruction exec.

    La première prise en main du logiciel passe forcément par la découverte de l'aide en ligne et des programmes de démonstration dont le recours sera ensuite constant.

EXERCICE 1 trouver avec l'aide en ligne l'instruction qui retourne les valeurs propres d'une matrice.

Remarque: lorsqu'une instruction est connue (par exemple plot2d), il est possible d'accéder directement à l'aide de celle-ci en tapant help plot2d sur la ligne de commande.

EXERCICE 2: exécuter la démoIntroduction to Scilab pour découvrir les differentes possibilités offertes par Scilab.

Remarque: il est simplement utile de regarder ici les méthodes d'affectation d'objets mathématiques, les différentes opérations matricielles et la syntaxe du langage. Pour plus de détails, il existe des ouvrages d'introduction disponibles sur le site officiel de Scilab.

EXERCICE 3: executer d'autres démos (car parking, bike simulation,...) et repérer l'emplacement des scripts correspondants.
 

4. premiers exemples de programmation

    Scilab utilise un langage proche des langages informatiques classiques (Pascal, C, Fortran) mais possède en outre de nombreuses fonctions prédéfinies comme le montrent les exemples du paragraphe précédent. L'objectif ici est d'en reconstruire trois et de les comparer à celles déjà implémentées.

EXERCICE 4: reconstruire la fonction integrate (ou intg) en utilisant la  méthodes des trapèzes ou celle de Monte Carlo. Comparer les précisions.

EXERCICE 5: reconstruire la fonction linsolve en utilisant la méthode du pivot de Gauss. Comparer les rapidités.

EXERCICE 6: reconstruire la fonction fsolve en utilisant la méthode de la sécante.


solution de l'exercice 1: instruction spec.
 

solution exercice 4 (il s'agit d'un exécutable pour une fonction particulière):
./prog3.gif

solution exercice 5 (il s'agit d'une fonction à charger avec getf):
./exercice5.gif

solution exercice 6 (il s'agit d'un exécutable pour une fonction particulière):
./prog2.gif