Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1. Introduction
1.1. Objectif. Proportionner aux intéressés les connaissances basiques pour utiliser le MATLAB et les facilités pour sa
programmation.
1.2. Méthodologie. Suivant les explications basées dans les exemples inclus dans ce manuel, l’intéressé peut aquérir en
forme progressive et autonome les connaissances basiques pour utiliser MATLAB.
Pour progresser rapidement, on peut ouvrir deux fenêtres dans l’écran de votre ordinateur, une avec le programme
MATLAB et l’autre avec ce manuel, alors on peut écrire et vérifier chaque exemple dans la fenêtre de commande de
MATLAB.
1.3. Le programme MATLAB. MATLAB (Matrix Laboratory) est un programme interactif d’utilité générale. C’est
un instrument computationnel simple et de grand pouvoir pour les applications numériques, symboliques et graphiques.
Le MATLAB contient une grande variété de fonctions prédéfinies pour les applications en sciences et génie.
L’interaction se réalise suivant les intructions (commandes) et aussi des fonctions et programme dans un langage
structuré. Les objets basiques avec lesquels le MATLAB opère sont des matrices. l’assignation de mémoire a chaque
variable le MATLAB la réalise en forme ifficiente et dynamique, et donc les déclarations des variables sont nécessaires
avant ses utilisations.
1.4. Caractéristiques de MATLAB.
• Calcul numérique rapide avec haute précision
• Capacité pour manoeuvrer la máthématique symbolique
• Représentation graphique et visualisation avancée
• Programmation suivant un langage de haut niveau
• Support pour la programmation structurée et orientée-objet
• Facilités basiques pour les interfaces graphiques
• Bibliothèque de fonctions
• Paquets spécialisés dans quelques domaines de sciences et de génie
1.5. Opération.
• Simple et efficiente
• Interactif et programmable
• Système de HELP
• Interaction avec d’autres “environnements”
1.6. Utilisation de MATLAB. “L’environnement” MATLAB est organisé suivant des fenêtres qui sont
Command Window: C’est la fenêtre de commandes
Command History: Contient le registre des commandes qui ont été utilisées
Workspace Contient: La description des variables utilisées dans chaque session.
1
2
1.7. Symboles Spéciaux en MATLAB. Le symbole >> indique que le programme est prêt à recevoir les instructions
(commandes)
[] pour définir les vecteurs et les matrices
() pour définir les sous-indices
, pour séparer les éléments d’un vecteur (on peut utiliser aussi un espace)
; pour séparer les lignes et pour éviter montrer le contenu des variables
% pour initier un commentaire (programme et fonction)
... pour continuer une commande a la ligne suivante.
Opérateurs arithmétiques
+ (addition), - (soustraction), * (multiplication), / (division a droite),
\ (division a gauche, pour les matrices)
Fonctions mathématiques
sin=sinus, sinh=sinus hyperbolique, asin=inverse sinus, asinh=inverse sinus hyperbolique
Opérateurs logiques
< (infrieur), <= (inferieur ou egal), > (superieur), >= (superieur ou egal), == (egal),
~= (different), & (et), | (ou), ~ (negation)
Exemple√ Pour calculer
sin(2π) + 3 + 43 on se dirige à la fenêtre de commande de MATALAB et on écrit
x=sin(2*pi)+sqrt(3)+4^3
(dessin)
1.8. Pratique avec les commandes de MATLAB. Dans cette section on utilise des commandes principales de
MATLAB en commençant avec les plus élémentaires. On doit écrire chaque exemple et presser la touche ENTER.
Le MATLAB montrera le résultat immédiatement, ou un message d’erreur (s’il y a une erreur).
Exemple
>> exp(2)/3
ans =
2.4630
>>x=exp(2)/3
x =
2.4630
>>y=x^2
y=
6.0665
x =
>> x(3,4)
3
ans =
y =
ans =
1 2 3 4 5 6
ans =
4
4
1
4
ans =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
Fonctions et Opérations avec les matrices
>> x=[1 2 3 4 4 6]
>>y=[1 5 -4 5 0 6]
>>a=[x;y]
>>n=length(x)
>>[m,n]=size(a)
>> t=dot(x,x)
>>k=rank(x)
>>t=trace(a)
>>b=eye(5)
4
>>d=det(b)
>>c=inv(b)
>>h=norm(a,1) norme par rapport aux colonnes de a
>>h=norm(a,inf) norme par rapport aux lignes de a
>>c=cond(a) conditionnement de a
>>[L,U,P]=lu(a) decomposition LU de a
>>L=chol(a,’lower’) decomposition de Choleski de a
>>e=eig(a) valeurs propres de a
>>p=poly(a) polynome caracteristique de a
>>r=roots(ans) valeurs propres de a
help matfun aide sur les fonctions pour les matrices
1.9. Réutilisation des commandes. On peut réutiliser les commandes en appuyant sur les touches ↑↓
>>y=x^2; z=2*x+3, t=sqrt(z)
z =
7.9260
t =
2.8153
2x + 3y =4
5x − 2y =6
>> a=[2 3;5 -2];
>> b=[4;6];
>> x=inv(a)*b
x =
1.3684
0.4211
g =
5
>> h=diff(f)
Warning: The method char/diff will be removed in a future release. Use sym/diff instead.
For example diff(sym(’x^2’)). After removal diff(’x^2’) will return diff(double(’x^2’)).
> In char.diff at 10
h =
2*x - 1/x
>> i=eval(int(f,1,2))
Warning: The method char/int will be removed in a future relase. Use sym/int instead.
For example int(sym(’x^2’)).
> In char.int at 10
i =
1.9470
>> f=’exp(-x^2)’;
>> t=int(f,-inf,inf)
Warning: The method char/int will be removed in a future relase. Use sym/int instead. For example
int(sym(’x^2’)).
> In char.int at 10
t =
pi^(1/2)
>> u=’x*exp(x^2+y^3)’;
>> v=diff(u,’x’)
Warning: The method char/diff will be removed in a future release. Use sym/diff instead. For example
diff(sym(’x^2’)). After removal diff(’x^2’) will return diff(double(’x^2’)).
> In char.diff at 10
v =
>> w=diff(u,’y’)
Warning: The method char/diff will be removed in a future release. Use sym/diff instead. For example
diff(sym(’x^2’)). After removal diff(’x^2’) will return diff(double(’x^2’)).
> In char.diff at 10
w =
3*x*y^2*exp(x^2 + y^3)
6
x =
0.36319308631998885183545068213531
>> x=eval(x)
x =
0.3632
Résoudre
a2 + a ∗ b − b = 3
a2 − 4 ∗ b =5
>> [a,b]=solve(’a^2+a*b-b=3’,’a^2-4*b=5’);
>> a=eval(a)
a =
-1.0000
-3.8284
1.8284
>> b=eval(b)
b =
-1.0000
2.4142
-0.4142
Résoudre l’équation cubique 5x3 + 2x2 − 3x + 2 = 0;
>> a=[5 2 -3 1];
>> x=roots(a)
x =
-1.1060
0.3530 + 0.2371i
0.3530 - 0.2371i
Expression symbolique
>> syms x;
y=x^5-32;
>> t=factor(y)
7
t =
>> t=taylor(sqrt(1+x),6)
Warning: The syntax of TAYLOR has changed. The old syntax is partially supported in this release, but
will be removed in a future release. Second argument must be a variable. See doc taylor for details.
> In sym.taylor at 97
t =
y =
x =
-0.7854
y =
-0.6448
ans =
3.1416
ans =
3.141592653589793
8
ans =
3.14
ans =
355/113
ans =
3.1416e+00
ans =
3.141592653589793e+00
Nombres complexes conj, real, imag, abs, angle, complex
>> x=2*i-1
x =
-1.0000 + 2.0000i
>> y=x^2
y =
-3.0000 - 4.0000i
>> z=abs(y)
z =
5
t=conj(x)
t =
9
-1.0000 - 2.0000i
Variables
>> x=’message’ x est de type litteral
x =
message
ans =
y =
z =
>> n=length(x)
n =
12
>> t=x(1:12)
t =
mathematique
t =
thema
10
Polynomes
>> a=[-2 1 3 4 7]
a =
-2 1 3 4 7
y =
x =
2.0768
-1.2411
-0.1678 + 1.1532i
-0.1678 - 1.1532i
>> b=[-3 4 5 6]
b =
-3 4 5 6
c =
6 -11 -15 -7 16 66 59 42
c =
0.6667 0.5556
r =
MATLAB Symbolique
>> syms x;
>> a=[x 3; 2*x 7]
a =
[ x, 3]
[ 2*x, 7]
>> t=inv(a)
t =
[ 7/x, -3/x]
[ -2, 1]
>> f=x^2-4
f =
x^2 - 4
>> factor(f)
ans =
(x - 2)*(x + 2)
>> expand(ans)
ans =
x^2 - 4
>> taylor(exp(x))
ans =
>> limit((1-(cos(x))^2)/2)
ans =
>> limit((1-(cos(x))^2)/x^2)
ans =
12
>> syms y;
>> g=x^2+y^2
g =
x^2 + y^2
>> diff(f,y)
ans =
>> diff(g,y)
ans =
2*y
>> diff(g,x)
ans =
2*x
>> x=2
x =
>> z=eval(g)
z =
y^2 + 4
x =
y =
13
>> eval(g)
ans =
3. Programmation en MATLAB
Pour utiliser la composante programmable de MATLAB on doit ouvrir une fenêtre en faisant click sur NEW SCRIPT.
Écrire le programme dans la fenêtre d’édition et l’enregistrer avec une nom quelconque. Fnalement, activer le pro-
gramme en écrivant le nom dans la fenêtre de commande. Introduire les donnés et obtenir les résultats (dessin).
3.1. Fichiers de commandes. Pour créer un fichier de commandes (programme, script), sélectionner FILE → NEW
→ M-File ou oprimer au bouton respectif une fenêtre d’édition s’ouvrira.
Dans le fenêtre d’édition écrire les commandes et les enregistrer dans un fichier avec un nom. On peut inclure des
commentaires avec le symbole %
Exemple 3.1. Écrire dans la fenêtre d’édition les instructions pour représenter graphiquement sin x entre 0 et 2π
x = 0 : 0.1 : 2 ∗ pi;
y = sin x;
plot(x, y);
Enregistrer le fichier sous le nom de preuve (par exemple). Pour executer le programme écrire dans la fenêtre de commande
>> preuve
Pour éditer un fichier de commandes, sélectionner FILE → Open ou sélectionner l’icone respectif.
if conditions
4.2. Décision (Instruction if ). instructions
end
if conditions
instructions
else
instructions
end
Exemple
Écrire et enregistrer le programme suivant pour montrer le maximum entre deux nombres
14
function[]=maximum()
clc
disp(’CE PROGRAMME CALCULE LE MAXIMUM ENTRE DEUX NOMBRES’)
disp(’--------------------------------------------------------------------’)
disp(’--------------------------------------------------------------------’)
%syms a b;
a=input(’Entrez le premier donne:’);
b=input(’Entrez le deuxieme donne:’);
if a$>$b
m=a;
else
m=b;
end
sprintf(’Le maximum entre a et b est "\%d":’,m)
disp(’Si vous voulez continuer, tapez "y" sinon "n"’)
var=input(’’,’s’);
if strcmp(var,’y’)==1
maximum()
else
clc
end
if strcmp(var,’w’)==1
harmwhile()
else
clc
end
15
function[]=harmfor()
clc
disp(’CE PROGRAMME CALCULE LA SOMME DES n PREMIERS TERMES DE LA SERIE HARMONIQUE’)
disp(’--------------------------------------------------------------------’)
disp(’--------------------------------------------------------------------’)
disp(’--------------------------------------------------------------------’)
disp(’--------------------------------------------------------------------’)
disp(’--------------------------------------------------------------------’)
syms n;
n=input(’Entrez n:’);% entree de donees
s=0;
for i=1:n
s=s+1/i;
end
sprintf(’La somme des n premiers termes de la serie harmonique est "%d":’,s)
disp(’Si vous voulez continuer, tapez "w" sinon "n"’)
var=input(’’,’s’);
if strcmp(var,’w’)==1
harmfor()
else
clc
end
4.5. Fonctions en MATLAB. En général une fonction est une ensemble d’instructions qui s’écrivent séparément du
programme et qui realisent un devoir quelconque.
Le mecanisme usuel pour transmettre des données aux fonctions est selon une liste de variables (parametres).
References
[1]
[2]
[3]