QUELQUES NOTES SUR MATLAB



Documents pareils
URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

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

Introduction à MATLAB R

Calcul Formel et Numérique, Partie I

Calcul Formel et Numérique, Partie I

Présentation du langage et premières fonctions

Cours 7 : Utilisation de modules sous python

TP 0 : INTRODUCTION À MATLAB

Programmation impérative

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

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

Algorithmique et Programmation, IMA

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

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Rappels Entrées -Sorties

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Programmation système I Les entrées/sorties

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Automatique des systèmes linéaires continus

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

Initiation à la programmation en Python

TP 1 Introduction à Matlab Février 2009

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

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

1. Structure d'un programme FORTRAN 95


Licence Sciences et Technologies Examen janvier 2010

Projet Matlab : un logiciel de cryptage

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

Continuité et dérivabilité d une fonction

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

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

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

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année


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

TP 1. Prise en main du langage Python

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

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

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.

Correction du Baccalauréat S Amérique du Nord mai 2007

Cours Informatique Master STEP

Python - introduction à la programmation et calcul scientifique

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INF 321 : mémento de la syntaxe de Java

Découverte du tableur CellSheet

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)

Algorithmique et programmation : les bases (VBA) Corrigé

SYSTEMES LINEAIRES DU PREMIER ORDRE

Programmation en langage C

Cours d Analyse. Fonctions de plusieurs variables

Cours 02 : Problème général de la programmation linéaire

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

C f tracée ci- contre est la représentation graphique d une

L ALGORITHMIQUE. Algorithme

Représentation des Nombres

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Solutions du chapitre 4

Correction de l examen de la première session

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Initiation à LabView : Les exemples d applications :

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

NOTATIONS PRÉLIMINAIRES

Représentation d un entier en base b

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Initiation à la programmation OEF pour Wims (exercices).

I. Ensemble de définition d'une fonction

FONCTION EXPONENTIELLE ( ) 2 = 0.

Introduction au pricing d option en finance

Les algorithmes de base du graphisme

Chapitre 1 Régime transitoire dans les systèmes physiques

Scilab pour les vrais débutants

Introduction au langage C

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

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

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Cours 14 Les fichiers

Le système de gestion des fichiers, les entrées/sorties.

Les fichiers. Chapitre 4

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

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

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

Qualité du logiciel: Méthodes de test

Plan du cours. Historique du langage Nouveautés de Java 7

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

ALGORITHMIQUE ET PROGRAMMATION En C

Stockage du fichier dans une table mysql:

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Les équations différentielles

La fonction exponentielle

Du bon usage de gnuplot

Conversion d un entier. Méthode par soustraction

Optimisation, traitement d image et éclipse de Soleil

Rappels sur les suites - Algorithme

Cours de Systèmes d Exploitation

Précision d un résultat et calculs d incertitudes

Transcription:

QUELQUES NOTES SUR MATLAB Constantes prédéterminées pi : le nombre π eps : différence entre deux réels les plus proches (limite de la machine) inf : le nombre ans : contient la dernière réponse i : le nombre complexe 1 Opérateurs /, +, -, *, ^, \ Un point précédent l'opérateur, indique que l'opération se fait élément par élément (Exemple :.*) Opérateurs relationnels <, <=, >, >=, ==, ~= Vecteurs X = [4 5 6] Y = [1 2 X 7 8] Z = debut : pas : fin Z = 1:2:7 donne Z = [1 3 5 7] L = length (X) : nombre d'éléments de X A = X (K) : accès direct au K-ème élément sum (X) : somme des éléments de X prod (X) : produit des éléments de X mean (X) : moyenne des éléments de X Matrice 0 1 2 X = [0 1 2; 3 4 5] (on peut remplacer le ; par un saut de ligne) donne X = 3 4 5 [m,n] = size (X) : m = nombre de lignes, n = nombre de colonnes A= X (K,L) : accès direct au K-ème élément de la L-ème colonne Y = X * Z : produit matriciel det (X) : déterminant de X inv (X) : inverse de X pinv (X) : pseudo-inverse de X ' : transposée de X X (1:3,2:6) : sous-matrice constituée par extraction des lignes 1 à 3 et colonnes 2 à 6 X (:,2:6) : sous-matrice constituée par les colonnes 2 à 6-1 -

Chaînes de caractères Ce sont des matrices à une ligne A = 'chaîne' B = ['La' A] : concaténation (donne B = 'La chaîne') length (A) : nombre de caractères de A Nombres complexes Z = 3-2 i conj (Z) real (Z) imag (Z) abs (Z) angle (Z) : conjugué : partie imaginaire : partie réelle : module : argument Polynômes Les coefficients sont classés par ordre décroissant des puissances P = [3 4 0 5] vaut : f(x) = 3 x 3 + 4 x 2 + 5 roots (P) : racines du polynôme poly (R) : polynôme dont les racines sont R (on a : P = poly(roots(p)) polyval (P,A) : valeur du polynôme en A Entrées sorties Ouverture Fid = fopen (nom_fichier,f_mode) F_mode : - 'r' : lecture seule (binaire) - 'w' : création ou écriture (binaire) - 'rt' : lecture seule (texte) - 'wt' : création ou écriture (texte) Fid : -1 si erreur; > 1 autrement Fermeture Statut = fclose (Fid) Statut = 0 si succès; -1 si erreur Lecture écriture [A,Compteur] = fread (Fid[,Taille],Type[,Saut]) : Lecture binaire [A,Compteur] = fscanf (Fid,'Format'[,Taille]) : Lecture formatée Compteur = fwrite (Fid,A,Type[,Saut]) : Ecriture binaire Compteur = fprintf (Fid,'Format',Liste_var) : Ecriture formatée - 2 -

St = input ('Message'[,'Format']) St = fgetl (Fid) disp (Message) A = dlmread (Nom_Fichier,Separ) dlmwrite (Nom_Fichier,A,Separ) : Introduction depuis le clavier : Lecture d'une chaîne de caractères : Affiche un texte : Transfert d'un fichier formaté dans A : Transfert de A dans un fichier formaté A : matrice où sont stockées les valeurs Compteur : nombre d'éléments lus avec succès Taille : - N : lecture de N éléments - inf : lecture de tous les éléments - [M,N] : lecture des éléments de la matrice M N Type : - 'char' : caractère - 'int' : entier 16 bits - 'long' : entier 32 bits - 'float' : réel 32 bits - 'double' : réel 64 bits 'Format' : forme générale : %[±]10.2caractère de conversion - i ou d : entier décimal signé - o : entier octal non signé - f : réel sous la forme [-]ddd.ddd - e : réel sous la forme [-]d.ddddd e ± dd - g : réel sous la forme e ou f suivant sa valeur - c : séquence de caractères identiques - s : chaîne de caractères - \t : signe de tabulation - \n : saut de ligne - \f : saut de page Separ Saut : caractère de séparation (Ex. '\t') : indique le nombre de caractères à sauter après chaque lecture Attention : avec fscanf, le fichier est lu élément après élément, ce qui implique que si le fichier contient : 1 2 3 4 5 6 7 8 9 10 11 12 A = fscanf (FID,'%f') donne une matrice colonne de 12 lignes 1 A = fscanf (FID,'%f',[3 4]) donne A = 2 3 4 5 6 7 8 9 10 11 12-3 -

1 A = fscanf (FID,'%f',[4 3]) donne A = 2 3 4 5 6 7 8 9 10 11 12 Pour avoir la valeur correcte, il faut faire : A = fscanf (FID,'%f',[4 3])' Par contre : A = dlmread (Nom_de_Fichier,' ') donne une valeur correcte Boucles if else end while condition end for I = Debut : Pas : Fin end Tracé de fonction plot (X,Y) subplot (N,M,L) grid title ('Texte') xlabel ('Axe X') ylabel ('Axe Y') legend ('Un','Deux', ) : Trace Y = f (X) Si Y est une matrice (m n), le tracé comporte n courbes de m points : Subdivise la fenêtre en N "lignes" et M "colonnes" et trace le graphique qui suit dans la L-ème position : Pour ajouter le quadrillage : Pour mettre un titre : Pour mettre en texte sur l'axe des X : Pour mettre un texte sur l'axe des Y : Pour mettre des légendes sur chaque courbe Divers clear clc : supprime une variable (attention : clear X Y Z séparés par des espaces) : efface la fenêtre de commande Intégration d'un système d'équations différentielles Définitions des options options = odeset ('RelTol',1e-3,'AbsTol',[1e-3 1e-3]) avec : - % RelTol = erreur relative pour toutes les composantes du vecteur solution - % AbsTol = erreur absolue pour chaque composante - 4 -

Intégration Matlab offre une variété de fonctions permettant l'intégration numérique. Elles se différencient par la valeur de n : [X,Y] = oden (@function,[xmin X_Max],[X1(0) X2(0) ],options,param) function contient le système d'équation différentielle à intégrer. [Xmin X_Max] définit l'intervalle d'intégration [X1(0) X2(0) ] donne les valeurs initiales des variables options signifie que l'on utilise les informations transmises par odeset param est la liste de paramètres à transmettre pour les calculs dans function Exemple Soit à déterminer la vitesse et le chemin parcouru par un objet tombant dans l'air. On admet une traînée de la forme Rx = K V 2. On définit : Y(1) = Distance et Y(2) = Vitesse La fonction qui détermine les dérivées : function dy=essai_ode_1 (T,Y,GE,Kx) dy(1)=y(2); % dx/dt dy(2)=-ge+kx*y(2)^2; % dv/dt dy=dy' % dy doit être un vecteur colonne Le programme d'appel : T_Max = 5; Interv_Temps=[0 T_Max]; % Limites d'intégration GE=9.81; Kx=0.05; X0=100; V0=0; [T,X] = ode45(@essai_ode_1,[0 T_Max],[X0 V0],options,GE,Kx); plot (T,X) %Tracé de la vitesse et de l'espace On obtient : - 5 -