slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Formation au logiciel SCILAB PowerPoint Presentation
Download Presentation
Formation au logiciel SCILAB

Loading in 2 Seconds...

play fullscreen
1 / 35

Formation au logiciel SCILAB - PowerPoint PPT Presentation


  • 331 Views
  • Uploaded on

Formation au logiciel SCILAB. 23 mars 2006. Programme. Notions de base Fonctionnement de SCILAB Entrer une commande QQ points importants Installer HYDROGR Importer / Exporter des données Lire / Ecrire dans des fichiers textes Lire dans des fichiers Excel Traiter des données

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Formation au logiciel SCILAB' - phuc


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
programme
Programme
  • Notions de base
    • Fonctionnement de SCILAB
    • Entrer une commande
    • QQ points importants
    • Installer HYDROGR
  • Importer / Exporter des données
    • Lire / Ecrire dans des fichiers textes
    • Lire dans des fichiers Excel
  • Traiter des données
    • Fonctions utiles dans SCILAB
    • qq fonction de la boîte à outil HYDROGR

>> Mise en pratique

programme1
Programme
  • Faire des graphiques 2d
    • Graphiques simple 2d
    • Titres, légendes et style des courbes
    • Dates en abscisses
    • Graphiques « carrés »
    • Exporter au format GIF

>> Mise en pratique

  • HYDROGR
    • GR4J
    • Réseaux de neurones
notions de base

Notions de base

Nom de l’événement + date

fonctionnement de scilab
Fonctionnement de SCILAB
  • SCILAB =
    • Prompteur en ligne de commande
    • Editeur de Script
    • Des fonctions
    • Une aide pour chq fonctions
  • SCILAB est
    • Gratuit
    • Développé par l’INRIA
    • Comparable à MATLAB
    • Basé sur un langage interprété (proche du Cen bcp plus simple)
    • CASE SENSITIVE !
entrer une commande
Entrer une commande
  • Utiliser le prompteur
    • Taper la commande
    • Valider par entrée
  • Ecrire un script
    • Taper scipad() dans le prompteur >> éditeur de script
  • L’exécuter .. pour cela on peut
    • Soit taper [Ctrl] + l dans l’éditeur de script
    • Soit taper exec( [ Nom du fichier contenant le script ] ) dans le prompteur

--> a = ones(10,5)

  • -> b = 10 * a’
  • -> scipad( )
quelques points importants
Quelques points importants
  • Ajouter des commentaires  //
  • Lancer l’aide  help
  • Eviter un affichage sur le prompteur  ;
  • Transposée d’une matrice  ‘
  • Génération de vecteurs  :
  • Fin de vecteur  $
  • Matrice  [ ]

--> // Commentaire

  • -> PasCommentaire = 1
  • -> PasCommentaire = 1;
  • -> help plot2d
  • -> a = 1:100
  • -> b = 1:0.01:100
  • -> c = 100:-1:1
  • -> a2= a’
  • -> u = a($-10)
  • -> A = [[1 2];[3 4]]
installer hydrogr
Installer HYDROGR
  • Télécharger le fichier HYDROGRv00.zip(http://lerat.julien.free.fr log=test pwd=essai)
  • Dezipper dans le répertoire C:\Program Files\Scilab 3.1.1\contrib\
  • Supprimer le fichier loader.sce qui se trouve dans C:\Program Files\Scilab 3.1.1\contrib\
  • Remplacer par le fichier loader.sce qui se trouve dans le répertoire HYDROGRv00
  • Lancer SCILAB
installer hydrogr1
Installer HYDROGR

Dans SCILAB, l’écran doit être le suivant

importer exporter des donn es

Importer / Exporter des données

Nom de l’événement + date

cas simple donn es num riques
Cas simple >> données numériques
  • Ouvrir un fichier texte et récupérer une matrice SCILAB = fscanfMat
  • Imprimer une matrice SCILAB dans un fichier texte = fprintfMat

--> // Lire des donnees numeriques

--> Chem = ‘C:\essai\’;

--> D1 = fscanfMat(Chem + ‘DATA1.DAT’);

  • -> D1
  • -> plot2d(D1(:,2),D1(:,3))
  • -> // Ecrire dans un fichier texte
  • T = rand(200,5);

--> fprintfMat(Chem + ‘T.txt’,T);

cas complexe texte num rique
Cas + complexe >> texte + numérique
  • Ouvrir le fichier avec mopen
  • Imprimer ou lire dans le fichier avec mfprintf et mfscanf et mgetl
  • Fermer le fichier avec mclose

--> // Récupère les lignes

--> fdat = mopen(Chem + 'DATA2.DAT','r');

--> Txt = mgetl(fdat);

--> mclose(fdat);

--> Txt=Txt(4:$);

--> // Analyse des lignes

--> [n,Code1,Sta,Jour,Q,Code2,Code3] = msscanf(-1,Txt,'%3s;%8s;%d;%f;%c;%d\n');

lire des donn es dans excel
Lire des données dans Excel
  • Instruction readxls

--> Feuille = readxls(Chem + 'DATA1.xls');

--> Dxls = Feuille(1).value;

--> Dxls = Dxls(2:$,:);

traiter des donn es

Traiter des données

Nom de l’événement + date

quelques instructions utiles
Quelques instructions utiles
  • size : taille d’une matrice
  • for … end : boucle for
  • if .. then … else : condition
  • find : identifier des éléments dans une matrice
  • mean : moyenne par colonne ou par ligne
  • st_deviation : Ec. type par colonne ou par ligne
  • zeros : générer une matrice de zeros
  • ones : générer une matrice de 1
  • diag : matrice carrée à partir d’une diagonale
  • rand : générer une matrice de nb aléatoires
  • execstr : évaluer une expression SCILAB
  • convol : convolution discrète (>> HU)
  • corr : auto-corrélation, corrélation croisée
  • gsort : trier les éléments d’une matrice
  • linear_interpn : Interpolation linéaire
exemples1
Exemples

--> D1 = fscanfMat(Chem + ‘DATA1.DAT’);

--> Nligne = size(D1,1); // Nb de lignes dans D1

--> // Trouver les forts débits

--> Icrue = find(D1(:,3)>20); // Q > 20 mm

  • -> // Moyenne et écart type des forts débits et ETP
  • -> Stat = [mean(D1(Icrue,[3,4]),’r’) ; ... st_deviation(D1(Icrue,[3,4]),’r’) ]
  • -> // Normer les forts débits et les pluies
  • -> NORM = D1(:,[3,4]) - ones(Nligne,1)*Stat(1,:)
  • -> NORM = NORM * diag(Stat(2,:).^(-1))
a vous de jouer

A vous de jouer ….

Nom de l’événement + date

faire des graphiques

Faire des graphiques

Nom de l’événement + date

qq notions sur les graphiques scilab
Qq notions sur les graphiques SCILAB

Légende (legend)

Fenêtre graphique (figure)

Graphique (axes)

Courbe (polyline)

Titres

les fonctions clefs
Les fonctions clefs
  • plot2d : Génération d’un graphique
  • plot2d2 : Génération d’un graphique « palier »
  • clf() : « Nettoyage » de la fenêtre active
  • xset(‘window’,N) : Ouvre une figure (n°=N)
  • get(‘current_figure’) : récupère les propriétés de la fenêtre active
  • gca() : récupère les propriétés du graphique actif
  • get(‘hdl’): récupère les prop. de la courbe active
  • xtitle : ajoute un titre général et sur chaque axe
  • legends : ajoute une légende
  • xs2gif : exporte une figure au format GIF
  • axes_properties : liste des propriétés des graphiques (dans l’aide)
  • polyline_properties : liste des propriétés des courbes (dans l’aide)
les options utiles de la fonction plot2d
Les options utiles de la fonction plot2d
  • rect : Définition de la fenêtre d’affichage
    • [minX, minY, maxX, maxY]
  • style : définition de l’allure des courbe
    • 1, 2,… Courbe en trait plein avec diff couleurs
    • -1,-2,… Représentation par point (diff. marqueurs)
  • logflag : échelle log ou non
    • nn Graph normal
    • nl X normal, Y log

--> y = rand(100,1);

--> x = (1:100)’;

--> plot2d(x,y,rect=[30,-2,60,2],style=-9)

--> plot2d(x,100*y,logflag=‘nl’)

graphiques simple 2d
Graphiques simple 2d
  • Faire un graphique pluie / débit avec la pluie en axe inversé

--> D1 = fscanfMat(Chem + ‘DATA1.DAT’);

--> Id = 1000; If = 1300; // Limitation de la plage

--> Q = D1(Id:If,3); P = D1(Id:If,5);

--> plot2d (Id:If,Q, style=1,rect=[Id,0,If,100])

--> plot2d2(Id:If,100-P,style=2,rect=[Id,0,If,100])

Nom de l’événement + date

titres l gendes et style des courbes
Titres, légendes et style des courbes

--> D1 = fscanfMat(Chem + ‘DATA1.DAT’);

--> Id = 1000; If = 1300; // Limitation de la plage

--> Q = D1(Id:If,3); P = D1(Id:If,5);

--> plot2d (Id:If,Q, style=1,rect=[Id,0,If,100])

--> plot2d2(Id:If,100-P,style=2,rect=[Id,0,If,100])

--> xtitle (‘Hydrogramme’,’’,’Q (mm)’)

--> legends([‘Q’;’P’],1:2,1)

--> gr = gca();

--> gr.children(2).children.line_style=2; // Pointillés

-->

Nom de l’événement + date

dates en abscisses
Dates en abscisses
  • Besoin fréquent = Ajouter une date en abscisse
  • >>>> Fonction de la boîte à outil HYDROGR
    • c_CONVDATE : Conversion date Excel numérique / format AAAAMMJJhhmm
    • SERIEDATE : Génére une série de date à pas constant

--> // Conversion de 3/1/96 12:56 en nombre

--> a = c_CONVDATE(0,199601031256);

--> // Conversion de 31450.333 en date

--> b = c_CONVDATE(1,31450.3333)

--> Annee = int(b/10^8) // récupère l’année

Nom de l’événement + date

dates en abscisses1
Dates en abscisses

--> // Récupération des dates (Annee, Mois et Jour)

--> DT = D1(Id:If,1);

--> Jr=int(DT/10^6); Mo=int(DT/10^4)-Jr*100;

--> An=DT-Mo*10^4-Jr*10^6;

--> // Conversion

--> DTx = c_CONVDATE(0,An*10^8+Mo*10^6+Jr*10^4);

--> //Tracé du graph et ajout des dates en abscisse

--> plot2d (DTx,Q)

--> gr = gca();

--> [eq eqx]=SERIEDATE(DTx(1),DTx($),‘m',2,1);

--> gr.auto_ticks=['off','on'];

--> XTK=tlist(['ticks','locations','labels'],eq,eqx);

--> gr.x_ticks=XTK;

--> xgrid(2);

Nom de l’événement + date

graphiques carr s export en gif
Graphiques « carrés » + export en GIF
  • Propriété « isoview » du graphique

--> plot2d (rand(100,1),rand(100,1),style=-9)

--> plot2d ([0,1],[0,1],style=2);

--> gr = gca();

--> gr.isoview=‘on’;

--> fig = get(‘current_figure’);

--> fig.figure_size = [500,500];

--> // Export

--> xs2gif(0,Chem + ‘FIG_CARRE.gif’);

Nom de l’événement + date

plusieurs graphiques par fen tres
Plusieurs graphiques par fenêtres
  • subplot : « Quadrillage » de la figure par plusieurs graphiques

Nb de Grph ds la largeur

N° du graph dessiné

Nb de Grph ds la

hauteur

--> subplot(2,2,1)

--> plot2d (rand(100,1),rand(100,1),style=-9)

--> subplot(2,2,2)

--> plot2d ([0,1],[0,1],style=2);

--> subplot(2,2,3)

--> plot2d (sin(1:100));

Nom de l’événement + date

a vous de jouer1

A vous de jouer ….

Nom de l’événement + date

la bo te outil hydrogr

La boîte à outil HYDROGR

Nom de l’événement + date

calage de gr4j
Calage de GR4J
  • De l’aide --> help HYDROGRv00
  • c_GR4J : Simulation avec GR4J (codé en C)

--> D1 = fscanfMat(‘C:\essai\DATA1.DAT’);

--> Q = D1(:,3); P = D1(:,5); E = D1(:,4);

--> // Définition des paramètres

--> X = [500;0;60;1];

--> // Lancement de la simulation

--> Qsim = c_GR4J(24,X,P,E);

--> // Graph de résultat

--> plot2d([Q Qsim]);

Pluie

Pas de temps

ETP

Paramètres

Nom de l’événement + date

calage de gr4j1
Calage de GR4J
  • PasaPas : Méthode pas à pas
    • Etape 1 = Définir une fonction objectif
    • Etape 2 = Définir une valeur initiale des paramètres
    • Etape 3 = Lancer la fonction PasaPas

Nom de l’événement + date

calage de gr4j2
Calage de GR4J

Fction objectif

  • PasaPas : Méthode pas à pas

--> D1 = fscanfMat(‘C:\essai\DATA1.DAT’);

--> Q = D1(:,3); P = D1(:,5); E = D1(:,4);

--> // Définition de la fonction objectif

--> deff('C2M=FctObj(Xt)',...

--> ‘X(1)=exp(Xt(1)); X(2)=sinh(Xt(2));’ + …

--> ‘X(3)=exp(Xt(3)); X(4)=exp(Xt(4));’ + …

--> ‘Qsim = c_GR4J(24,X,P,E);’ + …

--> ‘t=CRIT(Q(365:$),Qsim(365:$)); C2M = -t(3);’)

--> // Calage

--> Xtini = [log(500);0;log(50);log(1)];

--> [Xt,RES] = PasaPas(‘FctObj’,X);

--> X = [exp(Xt(1));sinh(Xt(2));exp(Xt(3));exp(Xt(4))];

Nom de l’événement + date

r seaux de neurones
Réseaux de neurones…
  • Un autre jour….

Nom de l’événement + date

a vous de jouer2

A vous de jouer ….

Nom de l’événement + date