introduction à scilabjl.domec.free.fr/sitedjl_fichiers/scilab/intro_scilab.pdf · 2010-03-09 ·...
TRANSCRIPT
![Page 1: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/1.jpg)
Introductionà Scilab
Guy Lamarque
![Page 2: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/2.jpg)
2
Pourquoi j’ai utilisé Scilab ?
� Je devais illustrer un cours de traitement du signal et j’avais plusieurs solutions :� Utiliser le Visual C++
�Je connais le langage. �J’ai eu peur que les problèmes informatiques ne masquent les problèmes de traitement du signal.
� Utiliser MATLAB�Je devais apprendre ce langage�Je ne pouvais pas préparer mes cours dans mon bureau car il n’y avait plus de licence disponible…
� J’ai décidé de télécharger, d’installer et d’apprendre Scilab…
� Je ne suis pas un spécialiste de Scilab et encore moins de MATLAB puisque je ne connais pas MATLAB…
![Page 3: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/3.jpg)
3
Pourquoi j’ai utilisé Scilab ?
� Pour ceux qui connaissent MATLAB, Scilab est, a priori, un clone gratuit.
� Scilab est un logiciel libre distribué avec son code source.
� L’utilisateur peut le recompiler et donc le personnaliser.
� Scilab a été développé par des chercheurs de l’INRIA et l’ENPC dans un environnement UNIX pour:� Des applications industrielles.� Des travaux de recherche.
![Page 4: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/4.jpg)
4
Pourquoi j’ai utilisé Scilab ?� Scilab est un langage portable :
�Unix�Windows�MacOs
� Scilab est aussi un langage de programmation puisque la librairie Scilab contient presque 100000 lignes de code de fonctions écrites en Scilab.
� C’est un langage qui conduit à des programmes compacts et lisibles .
� Scilab comporte un langage de programmation et un interpréteur.
![Page 5: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/5.jpg)
5
Scilab� Scilab est un système ouvert, l’utilisateur peut développer ses propres applications en langage Scilab.
� La syntaxe de Scilab est identique à Matlab pour tout ce qui concerne les manipulations sur les vecteurs et les matrices.
� Scilab contient des centaines de fonctions préprogrammées pour résoudre des problèmes mathématiques spécifiques.
� Toutes les fonctions ne sont pas écrites en scilab.
� Les fonctions très élémentaires et les fonctions pour lesquelles la vitesse d’exécution est un facteur crucial sont codées en C ou en fortran.
![Page 6: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/6.jpg)
6
Exemples de boîtes à outils Scilab
�Analyse fractale.�Analyse numérique.�Calcul parallèle.�Commande.�Graphes.�Optimisation.� Statistique.� Traitement du signal.�…etc
![Page 7: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/7.jpg)
7
Calcul numérique
�Résolution de systèmes linéaires.�Calcul de valeurs propres et de vecteurs propres.
�Décomposition en valeurs singulières.�Résolution d’équations différentielles.�Optimisation.�Résolution d’équations non linéaires.�Génération de nombres aléatoires.�Primitives d’algèbre linéaire.
![Page 8: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/8.jpg)
8
Exemple : Boîte à outilstraitement du signal
�Diagramme de bode� Transformées
�DFT (Discrete Fourier Transform)�FFT (Fast Fourier Transform)�Transformée en Z
�Conception de filtres�FIR (Finite Impulse Response) filter
�Méthode des fenêtres�Remez
�IIR (Infinite Impulse response) filter�Filtres analogique(Butterworth, Chebyshev, elliptic)
![Page 9: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/9.jpg)
9
Exemple : Boîte à outilstraitement du signal
�Analyse spectrale
�Périodogramme
�Corrélogramme
�Maximum d’entropy
�Algorithme de Levinson
� Filtrage optimal
�Filtre de Kalman
�Filtre de Wiener
�Représentation temps fréquence
![Page 10: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/10.jpg)
10
Scicos
� C’est l’analogue de Simulink de Matlab
� L’application Scicos est une boîte à outils dont l’éditeur graphique est entièrement écrit en Scilab.
� Cette application est une interface bloc-diagramme pour la simulation de systèmes dynamiques interconnectés.
� C’est un outil très utilisé en milieu industriel (par exemple à EDF) pour simuler des systèmes complexes.
![Page 11: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/11.jpg)
11
Exemples de contributions
� ANN : Conception de réseaux de neuronnes.� FABBRI : Fonctions graphiques de haut niveau pour l’imagerie.
� FISLABFuzzy : Commande à logique floue.� FRACLAB : manipulation de fractales.� FREEFEM : éléments finis 2D.� GENFILT : Code assembleur pour l’implémentation de filtre IIR.
� IMAGE : Lecture et écriture d’images de différents formats.
� POLYTOOL : Manipulation de polynômes.� TELECOM : simulation des chaînes de transmission numérique de télécommunications.
� …etc
![Page 12: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/12.jpg)
12
Premier niveau d’utilisation
�En premier lieu Scilab peut s’utiliser comme une calculatrice capable :�D’effectuer des opérations sur des vecteurs et des matrices de réels et de complexes.
�De visualiser graphiquement des courbes et des surfaces.
![Page 13: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/13.jpg)
13
Fenêtre principale de Scilab
On crée un vecteur
On recherche le maximum
On trie les éléments
� Il est très facile d’examiner les variables
![Page 14: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/14.jpg)
14
Deuxième niveau d’utilisation
� Très rapidement on trouve plus simple d’écrire des programme en scilab : Scripte
� Le langage Scilab contient :
� Des opérations conditionnelles (if then elseelseif).
� Des boucles (while, for).
![Page 15: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/15.jpg)
15
Fenêtre « éditeur de scriptes »
![Page 16: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/16.jpg)
16
Les graphiques sous Scilab
� Le graphique de Scilab est basé sur des primitives graphiques dont la syntaxe d’appel est souvent complexe en raison des nombreux paramètres d’appel.
� Pour réaliser des graphiques très sophistiqués la lecture de l’aide en ligne est indispensable.
� Une méthode simple consiste à s’inspirer des nombreux exemples disponibles.
� En revanche, il est très simple de faire un graphique si on se contente des paramètres par défaut.
![Page 17: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/17.jpg)
17
Exemple de graphique sous Scilab
ne = 128 ;n = 4 ;x = [0:ne] * 2*%pi/n ; signal = cos (x) ; xbasc() ; plot2d (x,signal) ;
![Page 18: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/18.jpg)
18
Insérer un graphique Scilabdans un document « word »
![Page 19: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/19.jpg)
19
Exemple de graphique sous Scilab
ne = 128 ;n = 1 ;x = [0:ne] * 2*%pi/n ; signal = cos (x) ; xbasc() ; plot2d3 (x,signal) ;
![Page 20: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/20.jpg)
20
Créer un histogramme sous Scilab
nc = 256 ; n = 8192 ;signal = rand (1,n,'normal') ; xbasc() ; histplot (nc,signal,style=2) ;
Nombre d’échantillons
Nombre de classes
Signal aléatoire
Tracé d’un histogramme
![Page 21: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/21.jpg)
21
Créer un histogramme sous Scilab
![Page 22: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/22.jpg)
22
« Boîte de saisie »
� Scilab permet de développer des applications interactives complètes.�Scilab propose des boîtes de dialogues programmables.�Exemple : Boîte de saisieperiode = x_dialog (["nombre de periodes"],"4");
![Page 23: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/23.jpg)
23
« Menu »
� Exemple : Boîte à choix multiplesns=x_choose(['Cosinus';'Random'],['Choix du signal'],'Fin')
![Page 24: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/24.jpg)
24
Exemple de traitement du signal :
Génération d’une somme de sinusoïdes bruitées
N = 128 ;x = linspace(0,N-1,N) ;signal1 = cos (x*2*%pi*4/N) ;signal2 = cos (x*2*%pi*13/N) ;signal3 = cos (x*2*%pi*40/N) ;signal = signal1 + signal2 + signal3 ;bruit = rand(1,N) ;signal_bruit = signal + 0.5 - bruit ;
![Page 25: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/25.jpg)
25
Spectre d’une somme de sinusoïdes bruitées
fourier = fft (signal_bruit,-1) ;module = abs (fourier) ;
![Page 26: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/26.jpg)
26
Filtre passe bas (FIR)
[wft,wfm,fr]=wfir('lp',25,[.1 0],'kr',[5.6 0]);
Coefficients du filtre
Réponse en fréquence du filtre
Grille des fréquences
Nombre de coefficients
Type de filtre Fréquence de coupure
Type de fenêtre
Paramètres de la fenêtre
![Page 27: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/27.jpg)
27
Filtre passe bas (FIR)
![Page 28: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/28.jpg)
28
Sites à visiter…
�Scilab home page site officiel :
http://www.scilab.org/
�Scilab à l’ENPC (École Nationale des Ponts et Chaussées) :
http://cermics.enpc.fr/scilab_new/site/
�Articles traitants des possibilités de Scilab:
http://www.saphir-control.fr/articles/
![Page 29: Introduction à Scilabjl.domec.free.fr/siteDjl_fichiers/scilab/Intro_Scilab.pdf · 2010-03-09 · Toutes les fonctions ne sont pas écrites en scilab. ... Statistique. Traitement](https://reader031.vdocuments.mx/reader031/viewer/2022022020/5b9b893d09d3f2dc408d4aea/html5/thumbnails/29.jpg)
29
Bibliographie
�« Une introduction à Scilab version 0.999», Bruno Pinçon
�« Scilab : une introduction version 1.0 » J. Ph. Chancelier 2004