Diapositive 1 - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Diapositive 1

Description:

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 ... – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 36
Provided by: franc241
Category:

less

Transcript and Presenter's Notes

Title: Diapositive 1


1
Formation au logiciel SCILAB
23 mars 2006
2
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
  • gtgt Mise en pratique

3
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
  • gtgt Mise en pratique
  • HYDROGR
  • GR4J
  • Réseaux de neurones

4
Exemples
5
Notions de base
6
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 lINRIA
  • Comparable à MATLAB
  • Basé sur un langage interprété (proche du Cen
    bcp plus simple)
  • CASE SENSITIVE !

7
Entrer une commande
  • Utiliser le prompteur
  • Taper la commande
  • Valider par entrée
  • Ecrire un script
  • Taper scipad() dans le prompteur gtgt éditeur de
    script
  • Lexé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
  • --gt a ones(10,5)
  • -gt b 10 a
  • -gt scipad( )

8
Quelques points importants
  • Ajouter des commentaires ? //
  • Lancer laide ? help
  • Eviter un affichage sur le prompteur ?
  • Transposée dune matrice ?
  • Génération de vecteurs ?
  • Fin de vecteur ?
  • Matrice ?
  • --gt // Commentaire
  • -gt PasCommentaire 1
  • -gt PasCommentaire 1
  • -gt help plot2d
  • -gt a 1100
  • -gt b 10.01100
  • -gt c 100-11
  • -gt a2 a
  • -gt u a(-10)
  • -gt A 1 23 4

9
Installer HYDROGR
  1. Télécharger le fichier HYDROGRv00.zip(http//lera
    t.julien.free.fr logtest pwdessai)
  2. Dezipper dans le répertoire C\Program
    Files\Scilab 3.1.1\contrib\
  3. Supprimer le fichier loader.sce qui se trouve
    dans C\Program Files\Scilab 3.1.1\contrib\
  4. Remplacer par le fichier loader.sce qui se trouve
    dans le répertoire HYDROGRv00
  5. Lancer SCILAB

10
Installer HYDROGR
  • Dans SCILAB, lécran doit être le suivant

11
Importer / Exporter des données
12
Cas simple gtgt 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
  • --gt // Lire des donnees numeriques
  • --gt Chem C\essai\
  • --gt D1 fscanfMat(Chem DATA1.DAT)
  • -gt D1
  • -gt plot2d(D1(,2),D1(,3))
  • -gt // Ecrire dans un fichier texte
  • T rand(200,5)
  • --gt fprintfMat(Chem T.txt,T)

13
Cas complexe gtgt 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

--gt // Récupère les lignes --gt fdat mopen(Chem
'DATA2.DAT','r') --gt Txt mgetl(fdat) --gt
mclose(fdat) --gt TxtTxt(4) --gt // Analyse
des lignes --gt n,Code1,Sta,Jour,Q,Code2,Code3
msscanf(-1,Txt,'3s8sdfcd\n')
14
Lire des données dans Excel
  • Instruction readxls

--gt Feuille readxls(Chem 'DATA1.xls') --gt
Dxls Feuille(1).value --gt Dxls
Dxls(2,)
15
Traiter des données
16
Quelques instructions utiles
  • size taille dune 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 dune diagonale
  • rand générer une matrice de nb aléatoires
  • execstr évaluer une expression SCILAB
  • convol convolution discrète (gtgt HU)
  • corr auto-corrélation, corrélation croisée
  • gsort trier les éléments dune matrice
  • linear_interpn Interpolation linéaire

17
Exemples
  • --gt D1 fscanfMat(Chem DATA1.DAT)
  • --gt Nligne size(D1,1) // Nb de lignes dans D1
  • --gt // Trouver les forts débits
  • --gt Icrue find(D1(,3)gt20) // Q gt 20 mm
  • -gt // Moyenne et écart type des forts débits et
    ETP
  • -gt Stat mean(D1(Icrue,3,4),r) ...
    st_deviation(D1(Icrue,3,4),r)
  • -gt // Normer les forts débits et les pluies
  • -gt NORM D1(,3,4) - ones(Nligne,1)Stat(1,)
  • -gt NORM NORM diag(Stat(2,).(-1))

18
A vous de jouer .
19
Faire des graphiques
20
Qq notions sur les graphiques SCILAB
Légende (legend)
Fenêtre graphique (figure)
Graphique (axes)
Courbe (polyline)
Titres
21
Les fonctions clefs
  • plot2d Génération dun graphique
  • plot2d2 Génération dun graphique  palier 
  • clf()  Nettoyage  de la fenêtre active
  • xset(window,N) Ouvre une figure (nN)
  • 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 laide)
  • polyline_properties liste des propriétés des
    courbes (dans laide)

22
Les options utiles de la fonction plot2d
  • rect Définition de la fenêtre daffichage
  • minX, minY, maxX, maxY
  • style définition de lallure 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

--gt y rand(100,1) --gt x (1100) --gt
plot2d(x,y,rect30,-2,60,2,style-9) --gt
plot2d(x,100y,logflagnl)
23
Graphiques simple 2d
  • Faire un graphique pluie / débit avec la pluie en
    axe inversé

--gt D1 fscanfMat(Chem DATA1.DAT) --gt Id
1000 If 1300 // Limitation de la plage --gt Q
D1(IdIf,3) P D1(IdIf,5) --gt plot2d
(IdIf,Q, style1,rectId,0,If,100) --gt
plot2d2(IdIf,100-P,style2,rectId,0,If,100)
24
Titres, légendes et style des courbes
--gt D1 fscanfMat(Chem DATA1.DAT) --gt Id
1000 If 1300 // Limitation de la plage --gt Q
D1(IdIf,3) P D1(IdIf,5) --gt plot2d
(IdIf,Q, style1,rectId,0,If,100) --gt
plot2d2(IdIf,100-P,style2,rectId,0,If,100) --
gt xtitle (Hydrogramme,,Q (mm)) --gt
legends(QP,12,1) --gt gr gca() --gt
gr.children(2).children.line_style2 //
Pointillés --gt
25
Dates en abscisses
  • Besoin fréquent Ajouter une date en abscisse
  • gtgtgtgt 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

--gt // Conversion de 3/1/96 1256 en nombre --gt
a c_CONVDATE(0,199601031256) --gt //
Conversion de 31450.333 en date --gt b
c_CONVDATE(1,31450.3333) --gt Annee int(b/108)
// récupère lannée
26
Dates en abscisses
--gt // Récupération des dates (Annee, Mois et
Jour) --gt DT D1(IdIf,1) --gt Jrint(DT/106)
Moint(DT/104)-Jr100 --gt AnDT-Mo104-Jr106
--gt // Conversion --gt DTx c_CONVDATE(0,An108
Mo106Jr104) --gt //Tracé du graph et ajout
des dates en abscisse --gt plot2d (DTx,Q) --gt gr
gca() --gt eq eqxSERIEDATE(DTx(1),DTx(),m',2,
1) --gt gr.auto_ticks'off','on' --gt
XTKtlist('ticks','locations','labels',eq,eqx)
--gt gr.x_ticksXTK --gt xgrid(2)
27
Graphiques  carrés  export en GIF
  • Propriété  isoview  du graphique

--gt plot2d (rand(100,1),rand(100,1),style-9) --gt
plot2d (0,1,0,1,style2) --gt gr gca() --gt
gr.isoviewon --gt fig get(current_figure)
--gt fig.figure_size 500,500 --gt //
Export --gt xs2gif(0,Chem FIG_CARRE.gif)
28
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
--gt subplot(2,2,1) --gt plot2d
(rand(100,1),rand(100,1),style-9) --gt
subplot(2,2,2) --gt plot2d (0,1,0,1,style2) -
-gt subplot(2,2,3) --gt plot2d (sin(1100))
29
A vous de jouer .
30
La boîte à outil HYDROGR
31
Calage de GR4J
  • De laide --gt help HYDROGRv00
  • c_GR4J Simulation avec GR4J (codé en C)

--gt D1 fscanfMat(C\essai\DATA1.DAT) --gt Q
D1(,3) P D1(,5) E D1(,4) --gt //
Définition des paramètres --gt X
5000601 --gt // Lancement de la
simulation --gt Qsim c_GR4J(24,X,P,E) --gt //
Graph de résultat --gt plot2d(Q Qsim)
Pluie
Pas de temps
ETP
Paramètres
32
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

33
Calage de GR4J
Fction objectif
  • PasaPas Méthode pas à pas

--gt D1 fscanfMat(C\essai\DATA1.DAT) --gt Q
D1(,3) P D1(,5) E D1(,4) --gt //
Définition de la fonction objectif --gt
deff('C2MFctObj(Xt)',... --gt X(1)exp(Xt(1))
X(2)sinh(Xt(2)) --gt X(3)exp(Xt(3))
X(4)exp(Xt(4)) --gt Qsim
c_GR4J(24,X,P,E) --gt tCRIT(Q(365),Qsim(3
65)) C2M -t(3)) --gt // Calage --gt Xtini
log(500)0log(50)log(1) --gt Xt,RES
PasaPas(FctObj,X) --gt X exp(Xt(1))sinh(Xt(
2))exp(Xt(3))exp(Xt(4))
34
Réseaux de neurones
  • Un autre jour.

35
A vous de jouer .
Write a Comment
User Comments (0)
About PowerShow.com