Formation Matlab et Calcul Scientifique



Documents pareils
Introduction à MATLAB R

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

TP 1 Introduction à Matlab Février 2009

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

3.2. Matlab/Simulink Généralités

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

Plan du cours Cours théoriques. 29 septembre 2014

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

Cours 7 : Utilisation de modules sous python

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Python - introduction à la programmation et calcul scientifique

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Algorithmique et Programmation, IMA

Les concepts de base, l organisation des données

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

Cours 1. I- Généralités sur R II- Les fonctions de R et autres objets III-Les vecteurs

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

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

TP 0 : INTRODUCTION À MATLAB

Cours d initiation à la programmation en C++ Johann Cuenin

Architecture des Systèmes d Information Architecture des Systèmes d Information

Aide - mémoire gnuplot 4.0

Introduction à la présentation graphique avec xmgrace

Cours Informatique Master STEP


Initiation à la programmation en Python

Exemple d application en CFD : Coefficient de traînée d un cylindre

Automatique des systèmes linéaires continus

Introduction à MATLAB

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

Scilab pour les vrais débutants

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

Représentation d un entier en base b

TP 1. Prise en main du langage Python

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

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

Notes introductives à Matlab

Initiation à LabView : Les exemples d applications :

Chap III : Les tableaux

NetBak Replicator 4.0 Manuel de l utilisateur Version 1.0

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Notice d utilisation

Une chaîne de caractères est toute suite de caractères placés entre guillemets.

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Présentation du langage et premières fonctions

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Introduction à Matlab

Le langage C. Séance n 4

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Premiers pas avec Mathematica

TD3: tableaux avancées, première classe et chaînes

INTRODUCTION. Introduction (2) Espace de travail. Fonctionnement. le Workspace (1) Mode interactif : Mode programme : Type de variables :

1. Structure d'un programme FORTRAN 95

TD : Codage des images

Création et utilisation de formulaire pdf

GUIDE D UTILISATION PARTICIPANT

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

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

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

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

IV- Comment fonctionne un ordinateur?

Logiciel de Base. I. Représentation des nombres

Fonctions de plusieurs variables

TABLE DE MATIERE : 1. INTRODUCTION : PAGE D ACCUEIL : OPTIONS DES TICKETS : FAQ OPTION :...

Maple: premiers calculs et premières applications

Correction de l examen de la première session

Informatique Générale

KBC Securities Trader

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

Corrigé des TD 1 à 5

FRANCAIS ENGLISH DEUTSCH ITALIANO ESPANOL NEDERLANDS PORTUGUESES MANUEL UTILISATEUR USER S GUIDE BENUTZERHANDBUCH GUIDA PER L UTENTE GUIA DEL USUARIO

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Contrôle d accès UTIL TP N 1 découverte

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

Traceur de courbes planes

Représentation d un nombre en machine, erreurs d arrondis

MANUEL. Départements GEI & Mécanique. Yassine Ariba - Jérome Cadieux. Version 0.1

Initiation à la Programmation en Logique avec SISCtus Prolog

Introduction à MATLAB Simulink Control toolbox

Utilisation d objets : String et ArrayList

AIDE à l utilisation du cédérom «L athlétisme à l école» Niveau Primaire SOMMAIRE

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES

Annexe commune aux séries ES, L et S : boîtes et quantiles

PROJET ALGORITHMIQUE ET PROGRAMMATION II

La mémoire. Un ordinateur. L'octet. Le bit

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

LES DECIMALES DE π BERNARD EGGER

COURS DE MS EXCEL 2010

Chapitre 10 Arithmétique réelle

GUIDE Excel (version débutante) Version 2013

a) b)

TP, première séquence d exercices.

ENVOI SIMPLE (SMS)...

de calibration Master 2: Calibration de modèles: présentation et simulation d

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Manuel d utilisation pour la plateforme BeExcellent MANUEL D UTILISATION POUR LA PLATEFORME BEEXCELLENT

INF6304 Interfaces Intelligentes

Transcription:

Formation Matlab et Calcul Scientifique Cours 1: Variables, scripts et opérations Moncef Mahjoub ENIT-LAMSIN, BP 37, 1002 Tunis Belvedere, Tunisie

Plan Pour commencer Scripts Introduire des variables Manipulation des variables Plotting

Plan Pour commencer Scripts Introduire des variables Manipulation des variables Plotting

Introduction Matlab : MATrix LABoratory Langage de programmation Paltforme de développement destinée au calcul scientifique Réaliser des tâches coûteuses avec une vitesse plus rapide Utilité : Résolution numérique des problèmes mathématiques Equations aux Dérivées Partielles (EDP) Systèmes Linéaires Valeurs Propres de Matrices Méthodes d optimisation,... Avantage : langage interprété (exécute les commandes sans passer par une étape de compilation) intègre des fonctions mathématiques élémentaires méthodes numériques pour le calcul matriciel outils de représentation graphique en 2D ou 3D Objectif : Acquérir les bases de ce logiciel

Pour commencer

Commandes d environnement Les commandes d environnement de MATLAB les plus courantes sont : cd : permet de se déplacer d un répertoire à un autre ls ou dir : affiche les fichiers contenus dans le répertoire courant ou un autre pwd : affiche le répertoire courant who ou whos : liste les variables déjà déclarées par l utilisateur clear all : supprime la liste des variables déjà déclarées clc : efface l ensemble des commandes MATLAB introduite sur l écran exit ou quit : permet de quitter l interface MATLAB tic et toc : calcule le temps mis par MATLAB pour exécuter une commande ou un script cputime : retoune le temps total (en sec) mis par l application MATLAB

Help / docs help La fonction la plus importante pour comprendre MATLAB Pour avoir des informations comment utiliser une fonction matlab : >> help sin Pour ouvrir une fenˆtre d aide intéractive >> helpdesk Chercher une commande sans avoir une idée sur le nom de cette commande >> lookfor (exemple : lookfor cosinus) liste des fonctions et des liens liés à la doc Pour avoir une description détaillée avec des exemples : >> doc sin Pour rechercher une fonction en spécifiant des mots-clés : >> doc + Search tab

Help / docs help La fonction la plus importante pour comprendre MATLAB Pour avoir des informations comment utiliser une fonction matlab : >> help sin Pour ouvrir une fenˆtre d aide intéractive >> helpdesk Chercher une commande sans avoir une idée sur le nom de cette commande >> lookfor (exemple : lookfor cosinus) Exercice : Trouver dans l aide le nom de la fonction renvoyant les valeurs propres d une matrice liste des fonctions et des liens liés à la doc Pour avoir une description détaillée avec des exemples : >> doc sin Pour rechercher une fonction en spécifiant des mots-clés : >> doc + Search tab

Plan Pour commencer Scripts Introduire des variables Manipulation des variables Plotting

Scripts : Overview Les scripts sont collection de commandes exécuté en séquence écrite dans l éditeur MATLAB enregistré en tant que fichiers MATLAB (.m extension) Pour créer un fichier de commande MATLAB >> edit Bonjour.m ou cliquer

Scripts : the Editor http ://ocw.mit.edu/terms

Scripts : quelques notes COMMENTAIRE! Tout ce qui suit un % est considéré comme un commentaire Le premier commentaire est une description du script Commentaire : comprendre le fonctionnement du code plus tard Toutes les variables créés et modifiées dans un script existent dans l espace de travail, même après qu il a cessé de fonctionner

Plan Pour commencer Scripts Introduire des variables Manipulation des variables Plotting

Types de variables MATLAB est un langage simplifié Pas besoin d initialiser les variables! La plupart des variables que vous traitez seront des vecteurs ou des matricess

Variables spéciales Pour créer une variable, il suffit d affecter une valeur à un nom : >> var1=3.14 Les chaines de caractères sont déclarées avec des apostrophes : >> mystring= bonjour tout le monde Les noms des variables premier caractère doit être une LETTRE après cela, n importe quelle combinaison de lettres, chiffres et Sensible aux majuscules et minuscules! (var1 est différent de Var1) Variables intégrées. Ne pas utiliser ces noms! i et j peut être utilisé pour indiquer des nombres complexes pi a la valeur 3.1415926... ans stocke la dernière valeur non affecté Inf et -Inf sont + et NaN represente Not a Number

Scalaire Les nombres réels sont écrits sous les formes décimales ou scientifiques usuelles : 2, 3.214, -.546, 1.21e33, 5.78e-16,... On peut introduire une variable explicitement >> a = 10 apparaît dans l espace de travail! ou en fonction des valeurs explicites et variables existantes >> c = 1.3*45-2*a Pour ne pas afficher la sortie, terminer la ligne par un point virgule >> var2 = 13/3 ; Il existe aussi certaine varaibles prédifinie eps = 2.2204e-16 (précision machine), realmin = 2.2251e-308, realmax = 1.7977e308

Vecteurs lignes Vecteur ligne : entre crochets on sépare les valeurs par une virgule ou un espace >> row = [1 2 5.4-6.6] >> row = [1, 2, 5.4, -6.6] ; Command window : Workspace :

Vecteurs colonnes Vecteur colonne : entre crochets des valeurs séparées par point-virgule >> column = [4 ;2 ;7 ;4] Command window : Workspace :

size & length Vous pouvez faire la différence entre un vecteur ligne et un vecteur colonne par : En regardant dans workspace Affichage de la variable dans command window Utilisation de la fonction size Pour obtenir la longueur d un vecteur, utilisez la fonction length

http ://ocw.mit.edu/terms

save/clear/load Utiliser save pour enregistrer des variables dans un fichier >> save myfile a b enregistrer les variables a et b dans le fichier myfile.mat le fichier myfile.mat est sauvegardé dans current directory répertoire de travail par défaut est >> \MATLAB Assurez-vous que vous êtes dans le dossier de votre choix lors de l enregistrement des fichiers. A l heure actuelle, nous devrions être en (utiliser pwd) : >> C :\Program Files\MATLAB\R2012b\bin Utiliser clear pour supprimer des variables de l environment >> clear a b Regarder dans workspace, les variables a and b sont partis Utiliser load pour apporter des variables dans l environment >> load myfile Regarder dans workspace, les variables a et b sont de retour Peut faire la même chose >> save myenv ; clear all ; load myenv ;

Ecrire/Lire dans un fichier Impression à l écran : La commande d écriture est fprintf >> fprintf(format,var1,var2,...), où format est une chaîne de caractère décrivant le format d écriture des variables var 1, var 2,... Les principaux type de fromats d écriture sont : %d entier %5d : entier de longueur 5, ex : 34562 %f réel %5.2f : réel de longueur 5 avec 2 chiffres après la %e exponentiel %10.8e : nombre de la forme -21.01e+05 %g réel double précision entre %e et %f %s chaîne de caractères fprintf( Convergence en %d iterations,3) fprintf( \n Convergence en %d iterations,3)

Ecrire/Lire dans un fichier Impression dans un fichier http ://ocw.mit.edu/terms

Ecrire/Lire dans un fichier Impression dans un fichier Lecture de données http ://ocw.mit.edu/terms

Plan Pour commencer Scripts Introduire des variables Manipulation des variables Plotting

Opérations scalaires de base Operations arithmétique (+,,, /) >> 7/45 >> (1 + i) (2 + i) >> 1 / 0 >> 0 / 0 Exponentiation ( ) >> 4 2 >> (3 + 4 j) 2 Expressions compliquées, utilisez des parenthèses >> ((2 + 3) 3) 0.1 La multiplication n est pas implicite >> 3(1 + 0.7) affiche une erreur Pour effacer command window >> clc

Fonctions intégrées MATLAB a une bibliothèque riche de fonctions intégrées On fait appel à une fonction - on met les paramètres entre parenthèses

Transposé L opérateur de transposition transforme un vecteur colonne en un vecteur ligne et vice versa >> a = [1 2 3 4 + i] >> transpose(a) >> a >> a. Le symbole donne la transposition hermitienne, i.e. transpose et conjugue tous les nombres complexes Pour un vecteur réel. et donnent le même résultat

Addition et Soustraction L addition et la soustraction se font élément par élément pour tailles compatibles : Ce qui suit donnerait une erreur >> c = row + column Utilisez la transposition pour avoir des tailles compatibles >> c = row + column >> c = row + column Peut additionner ou multiplier les termes d un vecteur >> s=sum(row) ; >> p=prod(row) ;

Fonctions élément par élément : Element-Wise Functions Toutes les fonctions qui agissent sur des scalaires agissent également sur des vecteurs >> t = [1 2 3] ; >> f = exp(t) ; est la même que >> f = [exp(1) exp(2) exp(3)] ; Les opérateurs (* / ) ont deux modes de fonctionnement element-wise (élément par élément) standard

Opérateurs : element-wise Pour faire des opérations élément par élément (element-wise), utilisez le point :. (.*,./,. ). Les deux dimension doivent être les mêmes http ://ocw.mit.edu/terms

Operateurs : standard Multiplication peut être fait de manière standard ou élément par élément (element-wise) Multiplication standard(*) est soit un produit scalaire ou un produit externe Exponentiation standard ( ) ne peut se faire que sur des scalaires ou des matrices carrées La division à gauche et à droite (/ \) est la même que la multiplication par inverse http ://ocw.mit.edu/terms

Initialisation Automatique Initialiser un vecteur de nombres ones, zeros, ou random >> o=ones(1,10) vecteur ligne avec 10 éléments, tous 1 >> z=zeros(23,1) vecteur colonne avec 23 éléments, tous 0 >> r=rand(1,45) vecteur ligne avec 45 éléments (uniform [0,1]) >> n=nan(1,69) vecteur ligne de NaNs (utile pour représenter des variables non initialisées)

Initialization Automatique Pour initialiser un vecteur dont ses éléments sont répartient uniformément (vecteur linéaire), utiliser linspace >> a=linspace(0,10,5) commence à 0, se termine à 10 (inclus), 5 valeurs Peut également utiliser l opérateur : >> b=0 :2 :10 commence à 0, par incréments de 2, et se termine 10 incrément peut être décimal ou négatif >> c=1 :5 si incrément n est pas spécifié, une valeur par défaut est 1 Pour initialiser des valeurs logarithmiquement espacées, utiliser logspace similaire à linspace, mais voir help

Indice d un vecteur L indexation commence par 1 et non par 0 a(n) retourne le nème élément L indice peut être un vecteur. Dans ce cas, chaque élément de ce vecteur est recherché, et le résultat renvoyé est un vecteur de même taille que celui des indices.

http ://ocw.mit.edu/terms

Indexation avancée Sélectionner des lignes ou des colonnes d une matrice, utilisez le MATLAB contient des fonctions pour vous aider à trouver les valeurs souhaitées dans un vecteur ou une matrice >> vec = [5 3 1 9 7] Pour obtenir la valeur minimale et son indice : >> [minval,minind] = min(vec) ; max Pour trouver des indices de valeurs spécifiques >> ind = find(vec == 9) ; >> ind = find(vec > 2 & vec < 6) ;

Exercices Exercice 1 Tapez les commandes suivantes et en commenter les résultats : n = 5, u = rand(n, 1), u/2, u./2, 2./u, u(3), u(2 : n 1), u(end), length(u), size(u), v = ones(5, 1), v = 2 u 3 v, u v, u. v, u, u v, v u, u 2, 2. u, 2 u. Exercice 2 On note u, v et w les vecteurs suivants : u = (1, 1, 3, 5) T, v = (10, 1, 3, 1) T w = (5, 1, 4, 5) T. Calculer 3u, u 2, 2u v + 4w, 2u v + 4w 1, v 3w.

Plan Pour commencer Scripts Introduire des variables Manipulation des variables Plotting

Tracé des figures Exemple >> x=linspace(0,4*pi,10) ; >> y=sin(x) ; Tracer y en fonction de ces indices >> plot(y) ; Tracer y en fonction de x >> plot(x,y) ;

Utilité du plot? plot génère des points en chaque paire (x, y), puis relie les points avec une ligne Pour tracer une fonction plus lisse, augmenter le nombre de point d évaluation >> x=linspace(0,4*pi,1000) ; >> plot(x,sin(x)) ; Les vecteurs x et y doivent être de même taille, ou bien vous aurez une erreur >> plot([1 2], [1 2 3]) error!!