DUT GEII DIT 1 Module Outils Logiciels Introduction à Scilab Séance n 1

Documents pareils
MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Aide - mémoire gnuplot 4.0


IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Calcul Formel et Numérique, Partie I

TP 1. Prise en main du langage Python

Cours 7 : Utilisation de modules sous python

STAGE IREM 0- Premiers pas en Python

Introduction à MATLAB R

Présentation du langage et premières fonctions

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Premiers pas avec Mathematica

Cours d algorithmique pour la classe de 2nde


Corrigé des TD 1 à 5

Calcul Formel et Numérique, Partie I

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Maple: premiers calculs et premières applications

Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

Cours Informatique Master STEP

L informatique en BCPST

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Initiation à la Programmation en Logique avec SISCtus Prolog

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Découverte de Python

INF 321 : mémento de la syntaxe de Java

TP1 : Initiation à Java et Eclipse

1. Structure d'un programme FORTRAN 95

Initiation à LabView : Les exemples d applications :

Programmation Web. Madalina Croitoru IUT Montpellier

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Java Licence Professionnelle CISII,

Python - introduction à la programmation et calcul scientifique

Algorithmique et Programmation, IMA

TP 1 Introduction à Matlab Février 2009

Séance 0 : Linux + Octave : le compromis idéal

Cours 1 : La compilation

Introduction à l informatique en BCPST

Notions fondamentales du langage C# Version 1.0

Unix/Linux I. 1 ere année DUT. Université marne la vallée

1 Introduction - Qu est-ce que le logiciel R?

Introduction au langage C

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Introduction à la présentation graphique avec xmgrace

Introduction à l algorithmique et à la programmation M1102 CM n 3

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Conventions d écriture et outils de mise au point

Scilab pour les vrais débutants

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Circuits RL et RC. Chapitre Inductance

TP1 : Initiation à l algorithmique (1 séance)

Automatique des systèmes linéaires continus

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Logiciel. Table de matières I Environnement requis...2

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Programmation C. Apprendre à développer des programmes simples dans le langage C

EES : Engineering Equation Solver Fiche récapitulative - Marie-Sophie Cabot

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Module d Electricité. 2 ème partie : Electrostatique. Fabrice Sincère (version 3.0.1)

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Quelques commandes de base en SCILAB

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Créer le schéma relationnel d une base de données ACCESS

Langage Java. Classe de première SI

Compléments de documentation Scilab : affichage de texte et formatage de nombres

I- Définitions des signaux.

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Initiation à la programmation en Python

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

La Clé informatique. Formation Excel XP Aide-mémoire

Note de cours. Introduction à Excel 2007

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : Licence Chimie, parcours Physique. Semestre S3

Bases de programmation. Cours 5. Structurer les données

Solutions du chapitre 4

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

TP 0 : INTRODUCTION À MATLAB

Multichronomètre SA10 Présentation générale

Consigne : je remplis le tableau en tenant compte des informations de la ligne supérieure et de la colonne de gauche (droite pour les gauchers)

Paramétrage des navigateurs

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Représentation d un entier en base b

TD 11. Les trois montages fondamentaux E.C, B.C, C.C ; comparaisons et propriétés. Association d étages. *** :exercice traité en classe.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Chapitre 6. Fonction réelle d une variable réelle

Les concepts de base, l organisation des données

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Le cas «BOURSE» annexe

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Transcription:

DUT GEII DIT 1 Module Outils Logiciels Introduction à Scilab Séance n 1 Objectif de la séance: Cette séance vise à décrire la nature, les principales fonctionnalités (programmation et représentations graphiques) et les domaines d application du logiciel Scilab 1. Scilab est un logiciel open source gratuit (du type de MATLAB) de calcul numérique développé par l INRIA et l ENPC, qui permet bien d autres choses: la manipulation des matrices et vecteurs; le calcul approché d intégrales et d équations différentielles ordinaires ; la programmation de fonctions en Scilab ; la génération de différents graphiques (2D et 3D) ; l utilisation de fonctions prédéfinies (génération de nombres aléatoires par exemple) ; statistiques. Scilab est constitué de 2 fenêtres principales: la console pour faire directement des calculs; l éditeur pour écrire des programmes celle-ci peut être ouverte dans l onglet application; 1. Notions basiques du logiciel SciLab 1.1. Opérations élémentaires Table 1 Opérations mathématiques et logiques élémentaires de Scilab Logiques Mathématiques == égalité + addition >= supérieur ou égal - soustraction ~= différent * multiplication & «et»logique / division (à droit), e.g. x/y = xy 1 «ou»logique \ division (à gauche), e.g. x\y = x 1 y ~ la négation ^ puissance, i.e. xy %T vrai (en anglais TRUE) ** puissance %F faux (en anglais FALSE) 1.2. Fonctions Mathématiques élémentaires Table 2 Fonctions mathématiques élémentaires du logiciel Scilab. exp expm log log10 log1p log2 logm max maxi min mini modulo pmodulo sign signm sqrt sqrtm sec asec cos acos tan atan 1 http ://www.scilab.org/ - Versions disponibles pour Windows, Linux et Mac OS X.

1.3. Commandes importantes : Dans la console, après le symbole «- ->» il suffit de saisir une commande et d appuyer sur Entrée pour obtenir le résultat. help : "help" tout seul donne la liste des aides générales possibles o help nom_de_commande : e.g. help plot : indique la syntaxe des graphes en 2D ; editor : vous pouvez utiliser cette commande pour ouvrir SciNotes ; exec : pour exécuter les commandes d un fichier (e.g. exec nom_de_fichier.sce) ; clear : efface le contenu de toutes les variables utilisées ; clc : efface l ensemble des commandes que vous avez tapées 1.4. Premiers calculs et remarques importantes On peut utiliser Scilab comme une simple calculatrice. On remarque que la virgule des nombres décimaux est notée avec un point. - -> 57/4 14.25 - -> (2+9)^5 161051 Avant le résultat, ans est affiché pour «answer» Remarque 1: Par défaut, tout calcul est affecté dans la variable ans (pour «answer» en anglais). L affectation se fait grâce au sigle =, par exemple : - -> c = 57/4 c = 14.25 Remarque 2: Les variables %pi, %eps, %i sont déjà affectées et ne peuvent être réaffectées. Par exemple, si vous tapez %pi dans la console, la valeur 3.141592 sera renvoyée. Donc attention: il très fortement déconseillé d utiliser des noms de variables déjà utilisées par Scilab. Remarque 3: SCILAB distingue majuscules et minuscules, par exemple : --> a=3; // ces deux barres permettent de placer un commentaire --> A=5; // SCILAB distingue majuscules et minuscules --> a+a // une opération simple ans= 8. Il est nécessaire aussi de respecter la casse (majuscule et minuscule) pour que les calculs s effectuent correctement. Par exemple, avec la commande sqrt qui permet de calculer la racine carrée : --> sqrt(9) 3. alors que :

- -> SQRT(9)!- -error 4 Variable non définie : SQRT Remarque 4: Scilab permet d effectuer plusieurs commandes sur une même ligne. Pour cela on sépare deux commandes successives par un ; si on ne désire pas que le résultat s affiche à l écran (lorsqu on effectue un calcul intermédiaire par exemple). Si au contraire on veut voir le résultat affiché, il faut séparer les deux commandes par,. --> a=2; b=2; 3*a+8*b^3 // seulement le résultat du dernier calcul sera affiché ans= 70. Remarque 5: Une commande peut s étaler sur plusieurs lignes. Pour cela on place... à la fin de la ligne que l on désire prolonger, par exemple : --> x=10*(a*sin(b)+... --> 3*b^2); Cela est utile lorsqu une commande est trop longue pour tenir en une seule ligne, par exemple quand on écrit une expression arithmétique kilométrique. Remarque 6: Le complexe i (souvent appelé j) qui a la propriété i² = -1 est la constante %i prédéfinie sous Scilab. --> %i ; A l aide de %i on peut définir d autres nombres complexes : --> z=3+5*%i; On peut donc effectuer des opérations sur les complexes : --> z1=3+5*%i; --> z2=2+%i; --> z1+z2 // addition de deux complexes 5+6*%i --> z1*z2 //multiplication ans= 1.+13*%i 1.5. Résolution d équations et représentation graphique avec SciNotes Pour les prochains exercices, vous devez créer un fichier texte (script) avec l éditeur SciNotes. Pour accéder à cet éditeur de texte vous pouvez utiliser le menu Applications de la fenêtre principale ou taper la commande Editor dans la console pour ouvrir SciNotes. L éditeur de programme SciNotes permet l écriture de lignes de codes en respectant une syntaxe de la même manière que dans d autres langages de programmation comme le C.

Après, il est possible d enregistrer ce script en lui donnant un nom avec l'extension.sce. Vous pouvez exécuter le script par la barre d outils de la console, sous l onglet Execute, ou encore à l aide de la commande exec nom_de_fichier.sce. Exemple 1: Envisager les valeurs suivantes pour Vemax(v) et Vsmax(v): Vemax(v) 0 1 1,4 2 3 Vsmax(v) 0 10 14 14 14 Donc, pour tracer la courbe Vs max = f(ve max) pour Ve max variant de pouvez utiliser l extrait de code représenté sur la Figure 1(a): à +3V, vous 1. Vemax = [0 1 1.4 2 3] 2. Vsmax = [0 10 14 14 14] 3. plot2d(vemax,vsmax) 4. hl=leg(['f(ve max)']); 5. xlabel('vemax(v)') 6. ylabel('vsmax(v)') Exemple 2: (a) Code (b) Graphique résultant Figure 1 (a) Code pour tracer la courbe f(ve max)) et graphique résultant (b). Si l on considère un circuit RC série basique, l évolution de la tension aux bornes d un condensateur soumis à une tension constante E s écrit en fonction du temps : u(t) = E(1 exp( t / τ)) où τ=rc est la constante de temps du circuit. 1. function resp=nom(t) // la fonction s appelle nom 2. resp = E*(1-exp(-t/tau)) 3. function 4. E = 5 // on affecte la valeur 5 5. tau = 1 // on affecte la valeur 1 6. t1 = linspace(0,8,40), 7. //linspace permet de définir la valeur initiale, la valeur finale et le nombre d échantillons du vecteur temps 8. t2 = linspace(0,8,40), 9. plot(t1,nom,"b") //commande pour trace la liste des valeurs en abscisses 10. tau = 1.5; // on affecte la valeur 1. 11. plot(t2,nom,"*r") // points représentés par un astérisque rouge 12. // titre et labels sur les axes 13. xtitle("la courbe d équation u=e*(1-exp(-t/tau))","t","u");

14. leg("tau=1","tau = 1,5") // lége du graphique Figure 2 - l extrait de code pour tracer la charge d un condensateur. Figure 3 Graphique influence de τ sur la charge du condensateur. 1.6. Notions basiques de programmation 1.7. Exercice A Table 3 Boucles et Conditions: comparaison entre C et Scilab. Description Code C Code Scilab for (i=1;i<=10;i++){ for i=1:10 printf("%d",i) disp(i) Boucle FOR Boucle WHILE Condition IF Condition CASE 1. Calculer : sin² (,5 π + 1) e² 5 2. Calculer : 2 tan(1) int i =10; while (i<10){ printf("%d",i); i++ if (i>3){ printf("%d",i); else{ printf("salut"); switch(i){ case 1:{ printf("circuit RC"); break; case 2:{ printf("circuit CR"); break; default:{ printf("au Revoir!"); i=0 while (i<10) i=i+1 disp(i) if (i>3) disp(i) else disp("salut ") select i case 1 then disp("circuit RC") case 2 then disp("circuit CR") else disp("au Revoir!")

2 i 3. Calculer : 1 2i 4. Calculer 1 i 2 Exercice B Soit l équation x² + 3x 2 = 0. 1. Calculer. 2. Calculer les solutions de l équation. Quelques propositions : 3. Calculer les parties réelle et imaginaire, le conjugué, puis les module et argument des nombres complexes suivants : Soit z1=5+3j. j, -3, 2-2j, j^2, 1/j 4. Calculer (z1+z1)/2 et (z1-z1)/2j. Justifier les résultats. 5. Sans avoir recours aux fonctions abs() et phasemag(), calculer le module et l'argument en degrés du nombre z1. 6. Quelle est la partie réelle et imaginaire du nombre z2=sqrt(2)*exp(%i*%pi/4);? Représenter graphiquement la partie réelle et imaginaire résultant. Exercice C 1. Circuit RC : tracer la charge et la décharge complète du condensateur, constitué d une résistance (r = 2500 Ohms) et d un condensateur (C = 10.0e-6 Farads). Créer une fonction charge et une fonction décharge. 2. Trace le diagramme de Bode du filtre RC en gain en traçant 20log (Vs/Ve) en fonction de log (ω). Références ANNIGERI, Satish. «An Introduction to Scilab», 2009. Disponible à l' : www.cse.iitb.ac.in/.../scilab_tutorial.pdf

BOYER, Franck. «Initiation à Scilab», Disponible à l' : http://www.latp.univmrs.fr/~fboyer/enseignement/agreg/init_scilab_anedp.pdf GOMEZ, Christine. «Scilab for very beginners», Disponible à l' : http://www.scilab.org/content/view/full/849 PIÇON, Bruno. «Une introduction à Scilab», Disponible à l' : http://www.iecn.unancy.fr/~pincon/scilab/doca4.pdf