You are on page 1of 5

QUELQUES NOTES SUR MATLAB

Constantes prdtermines
pi
eps
inf
ans
i

: le nombre
: diffrence entre deux rels les plus proches (limite de la machine)
: le nombre
: contient la dernire rponse
: le nombre complexe 1

Oprateurs
/, +, -, *, ^, \
Un point prcdent l'oprateur, indique que l'opration se fait lment par lment
(Exemple : .*)
Oprateurs 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'lments de X
A = X (K)
: accs direct au K-me lment
sum (X)
: somme des lments de X
prod (X)
: produit des lments de X
mean (X)
: moyenne des lments 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)
: accs direct au K-me lment de la L-me colonne
Y=X*Z
: produit matriciel
det (X)
: dterminant de X
inv (X)
: inverse de X
pinv (X)
: pseudo-inverse de
X'
: transpose de X
X (1:3,2:6)
: sous-matrice constitue par extraction des lignes 1 3 et colonnes 2
6
X (:,2:6)
: sous-matrice constitue par les colonnes 2 6
-1Matlab.doc / Michel PERRAUDIN / 26/03/04

Chanes de caractres
Ce sont des matrices une ligne
A = 'chane'
B = ['La' A]
: concatnation (donne B = 'La chane')
length (A)
: nombre de caractres de A
Nombres complexes
Z = 3-2i
conj (Z)
real (Z)
imag (Z)
abs (Z)
angle (Z)

: conjugu
: partie imaginaire
: partie relle
: module
: argument

Polynmes
Les coefficients sont classs par ordre dcroissant des puissances
P = [3 4 0 5] vaut : f(x) = 3 x3 + 4 x2 + 5
roots (P)
: racines du polynme
poly (R)
: polynme dont les racines sont R (on a : P = poly(roots(P))
polyval (P,A) : valeur du polynme en A
Entres sorties
Ouverture
Fid = fopen (nom_fichier,F_mode)
F_mode :
- 'r'
: lecture seule (binaire)
- 'w'
: cration ou criture (binaire)
- 'rt'
: lecture seule (texte)
- 'wt'
: cration ou criture (texte)
Fid
: -1 si erreur; > 1 autrement
Fermeture
Statut = fclose (Fid)
Statut = 0 si succs; -1 si erreur
Lecture criture
[A,Compteur] = fread (Fid[,Taille],Type[,Saut])
[A,Compteur] = fscanf (Fid,'Format'[,Taille])
Compteur = fwrite (Fid,A,Type[,Saut])
Compteur = fprintf (Fid,'Format',Liste_var)
-2Matlab.doc / Michel PERRAUDIN / 26/03/04

: Lecture binaire
: Lecture formate
: Ecriture binaire
: Ecriture formate

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 chane de caractres
: Affiche un texte
: Transfert d'un fichier format dans A
: Transfert de A dans un fichier format

: matrice o sont stockes les valeurs


: nombre d'lments lus avec succs

A
Compteur
Taille :
- N
- inf
- [M,N]

: lecture de N lments
: lecture de tous les lments
: lecture des lments de la matrice M N

Type :
- 'char'
- 'int'
- 'long'
- 'float'
- 'double'

: caractre
: entier 16 bits
: entier 32 bits
: rel 32 bits
: rel 64 bits

'Format' : forme gnrale : %[]10.2caractre de conversion


- i ou d
: entier dcimal sign
- o
: entier octal non sign
- f
: rel sous la forme [-]ddd.ddd
- e
: rel sous la forme [-]d.ddddd e dd
- g
: rel sous la forme e ou f suivant sa valeur
- c
: squence de caractres identiques
- s
: chane de caractres
- \t
: signe de tabulation
- \n
: saut de ligne
- \f
: saut de page
: caractre de sparation (Ex. '\t')
: indique le nombre de caractres sauter aprs chaque lecture

Separ
Saut

Attention : avec fscanf, le fichier est lu lment aprs lment, ce qui implique que
si le fichier contient :
1 2
5 6
9 10

3
7
11

4
8
12

A = fscanf (FID,'%f') donne une matrice colonne de 12 lignes


1 4 7 10
A = fscanf (FID,'%f',[3 4]) donne A = 2 5 8 11
3 6 9 12

-3Matlab.doc / Michel PERRAUDIN / 26/03/04

1
2
A = fscanf (FID,'%f',[4 3]) donne A =
3

5 9
6 10
7 11

8 12

Pour avoir la valeur correcte, il faut faire :


Par contre :

A = fscanf (FID,'%f',[4 3])'

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 fentre 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 lgendes sur chaque courbe

Divers
clear
clc

: supprime une variable (attention : clear X Y Z spars par des espaces)


: efface la fentre de commande

Intgration d'un systme d'quations diffrentielles


Dfinitions 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
-4Matlab.doc / Michel PERRAUDIN / 26/03/04

Intgration
Matlab offre une varit de fonctions permettant l'intgration numrique. Elles se
diffrencient par la valeur de n :
[X,Y] = oden (@function,[Xmin X_Max],[X1(0) X2(0) ],options,param)
function contient le systme d'quation diffrentielle intgrer.
[Xmin X_Max] dfinit l'intervalle d'intgration
[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 paramtres transmettre pour les calculs dans function
Exemple
Soit dterminer la vitesse et le chemin parcouru par un objet tombant dans l'air. On
admet une trane de la forme Rx = K V2.
On dfinit : Y(1) = Distance et Y(2) = Vitesse
La fonction qui dtermine les drives :
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'intgration
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 :

-5Matlab.doc / Michel PERRAUDIN / 26/03/04

You might also like