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 commandehalt 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 courantchdir("C:\Users\scls\Desktop")
Variables
who ou whos permet de connaitre les variables actuellement utiliséesclear effacer les variables
There are no comments on this page. [Add comment]