Scilab



Programmation (structures de contrôle, fonctions, etc...) avec Scilab


Nous avons utilisé jusqu'à présent l'interpréteur de commande de Scilab pour exécuter une commande dès que l'on appuie sur Entrée.
Ceci est relativement pratique pour faire quelques essais concernant la syntaxe de Scilab mais, dès lors que l'on doit modifier un paramètre et relancer un certain nombre de calcul, il s'avère nécessaire de sauver toutes les commandes dans un fichier qui sera par la suite interprété dans son intégralité par Scilab : on parle alors de "script" en Scilab.

La fenêtre principale de Scilab dispose d'un bouton nommé "Editeur" ou "Editor". Lorsqu'on clique sur ce bouton l'éditeur de texte SciPad se lance.
On peut alors taper les commandes que l'on veut. On peut également sauver ce script (avec l'extension .sce).

Les fichiers *.sce sont des scripts pour Scilab, et doivent être chargés avec la commande Scilab : exec("repertoire_du_script/script.sce").
Les fichiers *.sci sont des fichiers de fonctions et seront chargés automatiquement par le script qui les apelle.
Les fichiers .bin sont des fichiers binaires contenant une session sous Scilab.

Remarque : au lieu de taper exec("repertoire_du_script/script.sce") pour exécuter un script on peut
- exécuter ce script à l'aide du menu File > File operations de l'interpréteur Scilab et choisir Exec
- ouvrir ce script avec SciPad et cliquer sur Execute > Load into Scilab

Commentaires

Afin de rendre un script plus compréhensible on peut placer des commentaires
// Ceci est commentaire qui ne sera ni affiché ni interprété par Scilab

for

Cette instruction permet de faire une boucle de type "pour".

// Affiche i allant de 1 à 5 (par pas de 1)
for i=1:5
i
end



// Création d'une matrice de dimension (5,5) remplie de 2
n = 5; // dimension de la matrice carrée
for i = 1:n // i prend successivement les valeurs 1, 2, 3, 4, 5
for j = 1:n // idem pour j
I(i,j) = 2; // l'élément I(i,j) prend pour valeur 2
end // fin de la boucle j
end // fin de la boucle i


while

Cette instruction permet de faire une boucle de type "tant que".

while condition
// tant que condition est vrai, cette partie est exécutée en boucle
end


La commande break permet de quitter une boucle for ou while.


if / then / else

Cette instruction permet de faire des instructions différentes selon qu'un test est vrai ou faux.

if condition_1 then
suite d'instructions 1
elseif condition_2 then
suite d'instructions 2
.........................
elseif condition_N then
suite d'instructions N
else
suite d'instructions N+1
end


Sortie écran ; entrée clavier

Affichage d'un message

La commande disp("hello world") affiche le message "hello world"

La commande printf permet également d'afficher une valeur en appliquant un certain format

-->x=1.0
x =

1.

-->printf("x vaut %f",x)
x vaut 1.000000

voir help printf

Entrée clavier

x=input("Donnez une valeur pour x")

Autre

clc (Clear Command Window) efface l'écran de commande

halt ou pause permet de faire une pause dans l'exécution d'un script

Définition d'une fonction


function [y] = carre(x)
y= x.*x
endfunction


Conversion de scripts MATLAB en scripts Scilab

La commande mfile2sci permet (avec plus ou moins de succès) de convertir un scripts MATLAB en script Scilab.
http://www.scilab.org/product/man/html/fr/mtlb/whatis.htm
http://www.scilab.org/product/man/html/fr/translation/mfile2sci.htm

Gestion des répertoires

pwd répertoire courant
chdir("C:\Users\scls\Desktop")

Variables

who ou whos permet de connaitre les variables actuellement utilisées
clear effacer les variables

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki