TP1 : Introduction à Scilab

Documents pareils
Calcul Formel et Numérique, Partie I

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

Calcul Formel et Numérique, Partie I

Maple: premiers calculs et premières applications

TP 1. Prise en main du langage Python

Comparaison de fonctions Développements limités. Chapitre 10

Limites finies en un point

Aide - mémoire gnuplot 4.0

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

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

Premiers pas avec Mathematica

Développements limités. Notion de développement limité

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Utiliser des fonctions complexes

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

TP1 - Prise en main de l environnement Unix.

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

TP 1 Prise en main de l environnement Unix

Découverte de Python

à l édition de textes

Cours 7 : Utilisation de modules sous python

Continuité et dérivabilité d une fonction

Python - introduction à la programmation et calcul scientifique

Introduction à MATLAB R

L informatique en BCPST

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

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

Dérivation : cours. Dérivation dans R

Chapitre 0 Introduction à la cinématique

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

Le langage C. Séance n 4

Les structures. Chapitre 3

Comment créer et utiliser une fonction

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

Utilisation de l outil lié à MBKSTR 9

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

Présentation du langage et premières fonctions

INF 321 : mémento de la syntaxe de Java

Traceur de courbes planes

COMPTABILITE SAGE LIGNE 30

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Introduction à l informatique en BCPST

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)

TSTI 2D CH X : Exemples de lois à densité 1

Initiation à la programmation en Python

STAGE IREM 0- Premiers pas en Python

Nathalie Barbary SANSTABOO. Excel expert. Fonctions, simulations, Groupe Eyrolles, 2011, ISBN :

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

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

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

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

INITIATION AU LOGICIEL SAS

Cours IV Mise en orbite

INTRODUCTION. 1 k 2. k=1

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Simulation de variables aléatoires

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

Introduction à Eclipse

POKER ET PROBABILITÉ

Formation Excel. Introduction Les Bases du Logiciel Le comportement des cellules. Calculs élaborés. Les feuilles de calculs élaborées

Tutoriel Création d une source Cydia et compilation des packages sous Linux

C2AI 9 rue de Catalogne Décines cedex Tél. : Fax :

La Mesure du Temps. et Temps Solaire Moyen H m.

Dérivation : Résumé de cours et méthodes

Chapitre I Notions de base et outils de travail

Premiers Pas avec OneNote 2013

Rappels Entrées -Sorties

Auto-Entreprise : Activités : Eric SOTY - Siret n Formation Bureautique, continue d'adultes. Tél : Fax :

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Corrigé des TD 1 à 5

Développements limités, équivalents et calculs de limites

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Complément d information concernant la fiche de concordance

Utiliser ma messagerie GMAIL

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

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

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

REUNION INFORMATIQUE 15/09/12 Utilisation Messagerie «Webmail 2» I ) Préambule : Pourquoi l utilisation d une messagerie commune?

Module Communication - Messagerie V6. Infostance. Messagerie

Groupe Eyrolles, 2003, ISBN : X

I00 Éléments d architecture

Chapitre V. Les classes : Object, Vector, etc.

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

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

Algorithmes et mathématiques. 1. Premiers pas avec Python. Exo Hello world!

Accès distant Freebox v6 Configuration

Algorithmique et programmation : les bases (VBA) Corrigé


VOS PREMIERS PAS AVEC TRACENPOCHE

I. Introduction aux fonctions : les fonctions standards

Note de cours. Introduction à Excel 2007

Compter à Babylone. L écriture des nombres

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Transcription:

TP1 : Introduction à Scilab 1. Présentation du logiciel Né au début des années 90, Scilab (de Scientific Laboratory) est un logiciel de calcul numérique crée par l INRIA (Institut national de recherche en informatique et en automatique) et l ENPC (École nationale des ponts et chaussées). Ce logiciel est utilisé pour des applications scientifiques très variées : simulation en probabilités, statistiques, traitement du signal et de l image, systèmes dynamiques,... et il possède de plus l avantage d être un logiciel gratuit et entièrement libre depuis sa version 5.0. Pour plus d informations : http://www.scilab.org/scilab/about http://fr.wikipedia.org/wiki/scilab 2. Lancement de Scilab Lancer Scilab à partir de l icône zones (sous fenêtres) apparaît :. Une fenêtre composée de quatre page 1 sur 8

Le navigateur de fichiers (à gauche) : permet principalement d aller chercher des fichiers auparavant sauvegardés et de naviguer dans les différents répertoires. La console (au centre) : il s agit de la plus importante des quatre fenêtres, c est là que l utilisateur peut interagir avec Scilab en tapant des commandes spécifiques. Celles-ci doivent être entrées après l invite de commande : --> L historique des commandes (bas-droite) : comme son nom l indique, cette fenêtre permet de retrouver les commandes entrées par l utilisateur, elles sont regroupées par dates. Le navigateur de variables (haut-droite) : très utile, cette fenêtre permet de voir le nom des variables déjà affectées ainsi que leur valeur. Cela pourra s avérer utile lors de la gestion de certaines erreurs. 3. Premiers pas (le mode calculatrice - les opérations élémentaires) Il est possible d utiliser Scilab comme une calculatrice évoluée. Exercice 1 : Taper les commandes suivantes et noter les résultats et différences (pensez aussi à observer les deux fenêtres de droites - navigateur de variables et historique de commandes - et les modifications qui s y opèrent) : -->5+7 -->5+7; -->2+3*5.2^10 -->2+3*5,2^10 Nous pouvons d ores et déjà remarquer plusieurs choses : Il est possible de demander à Scilab d effectuer un calcul sans en afficher le résultat, en ajoutant un ; en fin de ligne. Cette nuance n a pour l instant que peu d intérêt mais elle sera appréciable lors de l exécution d un programme censé calculer plusieurs milliers (millions?) d opérations, l affichage des résultats intermédiaires peut ralentir de manière très significative le processus. page 2 sur 8

Scilab peut recevoir plusieurs calculs dans une même ligne de commande à condition de les séparer par une virgule. Les résultats sont alors affichés dans l ordre de saisie. Le point, quant à lui, fait office de virgule. Les priorités opératoires semblent respectées (et c est en réalité bien le cas). lorsque Scilab renvoie un résultat c est sous la forme ans =. ans (pour answer) est le nom d une variable temporaire de Scilab dans laquelle est stockée le résultat du dernier calcul effectué mais non affecté par l utilisateur. On peut aussi voir cette variable dans la fenêtre Navigateur de variables. La fenêtre Historique des commandes s est remplie au fur et à mesure. Il est possible de réexécuter l une des commandes de cette fenêtre en double cliquant dessus (Faites-en l essai). Une autre méthode consiste à appuyer successivement sur la touche du clavier pour rappeler les dernières commandes exécutées (Faitesen l essai). Opérations usuelles : Addition : + Division : / Soustraction : - Puissance : Multiplication : * Fonctions usuelles : Racine carrée : sqrt() Cosinus : cos() Module : abs() Sinus : sin() Partie entière : floor() Tangente : tan() Logarithme népérien : log() Arccos : acos() Logarithme en base 10 : log10() Arcsin : asin() Exponentielle : exp() Arctan : atan() Constantes usuelles : π : %pi, e : %e, i : %i, Vrai : %T, Faux : %F %i désigne le nombre complexe i. Le nombre complexe 5+3i sera entré dans la console Scilab de la manière suivante : 5+3*%i (Faites-en l essai) %T et %F seront abordés au paragraphe Booléen et logique. page 3 sur 8

L aide Scilab En cas de doutes sur l utilisation ou l existence d une commande de Scilab vous pouvez taper dans la console : help commande. Essayez par exemple : -->help rand. L aide fournie par Scilab peut parfois paraître indigeste mais elle présente également de nombreux exemples très instructifs. Exercice 2 : (a) Pour chaque commande, prévoir sur feuille les réponses affichées par Scilab, puis vérifiez vos réponses à l aide de la console : -->sqrt(2 10) -->sqrt(2 10); -->8/8*3 -->11-1/2 -->sin(0) -->cos(%pi) -->tan(3*%pi/4) -->tan(3%pi/4) -->log(%e) -->floor(%e*%pi) -->%e (%i*%pi/4) -->floor(abs(3-2*%i)) (b) Taper les commandes Scilab qui permettent d effectuer les calculs suivants : e π π e, 8 5 3 7, ( ) 2 3 3 + πe, sin (ln ( 2 10 e 9 )) 4. Booléen et logique Scilab peut effectuer des tests logiques sur des valeurs, dans ce cas il renvoie T (pour true - vrai) ou F (pour false - faux). Essayer les commandes suivantes : -->2<3 -->%pi<%e -->2==2.0 Principaux tests de bases : inférieur : < inférieur ou égal : <= égal : == supérieur : > supérieur ou égal : >= différent : <> page 4 sur 8

Connecteurs et négation : Ces connecteurs ont la même signification qu en mathématiques. Et : & Essayer par exemple : -->(2<3)&(6==9) Ou : (AltGr+6) Essayer par exemple : -->(2<3) (6==9) Non : ~ (tilde : AltGr+2) Essayer par exemple : -->~(2==3) Exercice 3 : Prévoir les réponses de Scilab aux commandes suivantes. -->(1>2) (89) (2<>5) -->(abs(3+4*%i)>4)&((2==2) (3==4)) -->~((%T) (%F)) -->~((%T)&(%F)) -->~((%T) ((%F)&(abs(2-3*%i)>log(%e^4)))) 5. Affectation de variables Une variable peut être considérée comme un petit morceau de mémoire machine réservé par Scilab. Cette variable est repérée par un nom unique (sensible à la casse) et contient une valeur (réel, complexe, booléen, chaîne de caractères, vecteur,...) Pour créer une variable dans Scilab il faut la déclarer et lui affecter une valeur en même temps grâce au symbole =, exemples : -->a=8 -->z=5-3*%i -->a*z -->A='Bonjour tout le monde' Taper les instructions précédentes et observer l apparition de ces variables dans la fenêtre Navigateur de variables. page 5 sur 8

Exercice 4 : Exécuter les instructions suivantes. Quelles sont les valeurs finales des variables a, b, texte1 et texte2? Était-ce prévisible? -->a=%pi -->a=%e -->a -->b=123 -->b=b+1 -->b -->a=a+b -->texte1='bonjour ' //Attention à l'espace à la fin -->texte1=texte1+'ceci est mon premier ' -->texte2=texte1+'tp Scilab!' Remarques très importantes : (a) le symbole = de Scilab n a pas du tout la même signification que le symbole = des mathématiques! Pour Scilab (et aussi pour la plupart des langages de programmation), écrire : expression1=expression2, signifie que l on va transmettre et affecter à l expression1 la valeur de l expression2. Dans ces conditions, lorsque l on écrit b=b+1, on signifie à Scilab que l on souhaite d abord calculer la valeur de b+1 puis transmettre cette valeur à la variable b qui va donc changer de valeur. b va donc être augmenté de 1 (on dit aussi incrémenté). Par contre, en mathématiques, écrire : b = b + 1 est absurde puisqu on aurait alors 0 = 1. (b) Pour des chaînes de caractères, le symbole + n est évidemment pas l addition, il s agit de la concaténation : on colle les chaînes les unes aux autres. (c) Pour affecter une chaîne de caractères à une variable il faut encadrer cette chaîne par des apostrophes ou des guillemets. Si la chaîne à affecter contient elle même des apostrophes ou des guillemets il faut alors doubler ces apostrophes ou ces guillemets, de plus, si la chaîne est trop longue, on peut la couper avec deux points consécutifs. page 6 sur 8

Tester et comprendre l exemple suivant : -->A='Affecter une chaine est ""simple"",.. -->je l''ai testé aujourd''hui' (d) Pour effacer toutes les variables on utilise la commande clear. Longueur et accès chaines : Pour connaître le nombre exact de caractères d une chaîne on peut utiliser la commande length() : -->length('bonjour tout le monde!') Renverra 22 comme réponse. Et si l on souhaite savoir quel est le 10ème caractère de la chaîne : -->phrase='bonjour tout le monde!' -->part(phrase,10) Renverra la lettre o du mot tout. Exercice 5 : (a) Créer une variable A contenant la chaîne de caractères suivante : 'Les facultés de l'esprit qu'on définit par le terme analytiques ' et une variable B contenant la chaîne : 'sont en elles-m^emes fort peu susceptibles d'analyse.' (b) Concaténer A et B dans une variable C. (c) Combien de caractères contient la chaîne C? (Vous donnerez deux méthodes) (d) Quelle est la centième lettre de la chaîne C? page 7 sur 8

(e) Créer une commande qui renverra T ou F selon que la dixième et la centième lettre de C sont identiques ou pas. 6. Premiers programmes Évidemment toutes ces commandes n ont d intérêt que si elles peuvent être enregistrées dans un fichier pour être ensuite exécutées automatiquement, sans avoir à retaper toutes les commandes et tout en donnant à l utilisateur la possibilité de changer les valeurs de certaines variables. Démarrer SciNotes (icône ) et taper les deux lignes du code suivant dans la nouvelle fenêtre : 1. a=input("entrer un nombre : ") 2. disp(2*a, "Le double de ce nombre vaut :") Exécuter ce code (icône ou touche F5 - il faut sauvegarder au préalable) et observer. input et disp sont deux fonctions fondamentales en Scilab. La première permet une certaine interactivité avec l utilisateur, elle affiche le message entre guillements et attend la réponse de l utilisateur puis elle réalise une affectation de cette valeur dans une variable. La seconde permet d afficher la valeur de certaine variable. Pour plus d informations : -->help input -->help disp Exercice 6 : (a) Réaliser un programme demande à l utilisateur un nombre x et qui affichera en retour la valeur de sin (ln( x + 1)). (b) Réaliser un programme qui demande à l utilisateur deux nombres qui seront affectés à des variables a et b, puis qui échange les valeurs de ces deux variables. (c) Réaliser un programme qui demande un entier n > 1 à l utilisateur et qui affiche ensuite un nombre entier au hasard entre 1 et n (loi uniforme sur {1, 2,..., n}). En déduire un simulateur de lancer d un dé équilibré à 6 faces. page 8 sur 8