Vous êtes sur la page 1sur 23

1

Introduction –MATLAB
Matlab signifie MATrix LABoratory ou Laboratoire des Matrice est un langage
simple et très efficace, optimisé pour le traitement des matrices et le calcul
numérique.
Matlab est beaucoup plus concis que les langages classiques tels que C, Pascal,
Fortran, Basic.

On peut enrichir Matlab en ajoutant des “boîtes à outils” (toolbox) qui sont des
ensembles de fonctions supplémentaires, pour traiter des applications
particulières (traitement de signaux, analyses statistiques, optimisation,).

I- Démarrer avec Matlab


1- Lancer Matlab

2-Travailler avec Matlab : Trois interfaces possibles


1-Interface ligne de commande (fenêtre de commande) identifiée par le prompt
(») de Matlab : la les commandes sont exécuter au fur et à mesure que
l’utilisateur les tape. On l’appelle également mode interactif
2

3-Travailler avec des Scripts ou Fonctions en utilisant des fichiers


M-files

Il est possible d'enregistrer une séquence d'instructions dans un fichier (appelé un


M-file ) et de les faire exécuter par MATLAB.

Un tel fichier doit obligatoirement avoir une extension de la forme .m (d'où le


nom M-file) pour être considéré par MATLAB comme un fichier d'instructions.

On distingue 2 types de M-file, les fichiers de scripts et les fichiers de fonctions.

Un script est un ensemble d'instructions MATLAB qui joue le rôle de programme


principal.

Si le script est écrit dans le fichier de nom nom.m on l'exécute dans la fenêtre
MATLAB en tapant nom. Même si l'on ne souhaite pas à proprement parler écrire
de programme, utiliser un script est très utile.

Les fichiers de fonctions ont deux rôles : Ils permettent à l'utilisateur de définir
des fonctions qui ne figurent pas parmi les fonctions incorporées de MATLAB
(<< built-in functions >>) et de les utiliser de la même manière que ces dernières
(ces fonctions sont nommées fonctions utilisateur).
3

On définit la fonction fonc de la manière suivante:

function [vars1, ..., varsm] = fonc(vare_1, ..., varen)

séquence d'instructions

 vars1, ..., varsm sont les variables de sortie de la fonction;


 vare1, ..., varen sont les variables d'entrée de la fonction;
 séquence d'instructions est le corps de la fonction.

Le fichier doit impérativement commencer par le mot-clé function. Suit entre


crochets les variables de sortie de la fonction, le symbole =, le nom de la fonction
et enfin les variables d'entrée entre parenthèses. Si la fonction ne possède qu'une
seule variable de sortie, les crochets sont inutiles. Il est impératif que la fonction
ayant pour nom fonc soit enregistrée dans un fichier de nom fonc.m sans quoi
cette fonction ne sera pas << visible >> par MATLAB.

4- Débuter en Matlab/ Mode Interactif :

Dans une fenêtre cmdtool, taper « matlab ». MATLAB répond par le symbole

>> (prompt de Matlab)

Une Fenêtre Commande dans laquelle on peut taper les instructions une
ligne à la fois.
4

En tapant la touche « entrée », chaque ligne est exécutée immédiatement


et MATLAB retourne les résultats.
Pour réaliser plusieurs instructions sur une même ligne, celles- ci peuvent
être séparées par une virgule «, ».

La liste des variables stockées dans l’espace de travail peut être obtenue par
les commandes :

o who : affichage des variables


o whos : affichage plus détaillé

 Variables locales et globales :

Help : aide à l’utilisation d’une commande

Taper help commande

Historique des commandes

Par ailleurs, il est parfois important d’enregistrer dans un fichier indépendant

la liste des commandes utilisées. Pour ce faire on utilise :

>> diary nomdefichier


5

Cette commande va creer un fichier nomdefichier qui enregistrera toutes les


commandes entr´ees jusqu’`a ce que l’on utilise diary off

Répertoire courant

>> path

>>USERPATH : est un unique dossier qui est propre `a l’utilisateur lors d’une
session.

En ligne de commande :

>> newpath = ’C:\Research_Project’;

userpath(newpath)

ou bien en selectionnant File> Set Path dans les menus deroulants.

La fenˆetre Current Folder a"che donc le contenu du USERPATH

5- Les formats d'affichage des réels


MATLAB dispose de plusieurs formats d'affichage des réels. Par défaut le format est
le format court à 5 chiffres. Les autres principaux formats sont:

format long : format long à 15 chiffres.


format short e : format court à 5 chiffres avec notation en virgule flottante.
format long e : format long à 15 chiffres avec notation en virgule flottante.

Exemple de fonctions mathématiques incorporées:


log(x) : logarithme néperien de x,
log10(x) : logarithme en base 10 de x,
exp(x) : exponentielle de x,
sqrt(x) : racine carrée de x (s'obtient aussi par x.^0.5),
abs(x) : valeur absolue de x,
sign(x) : fonction valant 1 si x est positif ou nul et 0 sinon.
6

Lorsque la fonction est définie sur le corps des nombres complexes l'argument peut être de
type complexe. On dispose également de fonctions spécifiques aux complexes:

conj(z) : le conjugué de z,
abs(z) : le module de z,
angle(z) : argument de z,
real(z) : partie réelle de z,
imag(z) : partie imaginaire de z.

Les fonctions d'arrondis sont:

round(x) : entier le plus proche de x,


floor(x) : arrondi par défaut,
ceil(x) : arrondi par excès,
fix(x) : arrondi par défaut un réel positif et par excès un réel négatif.

Il existe également quelques fonctions spécifiques aux vecteurs:

sum(x) : somme des éléments du vecteur x,


prod(x) : produit des éléments du vecteur x,
max(x) : plus grand élément du vecteur x,
min(x) : plus petit élément du vecteur x,
mean(x) : moyenne des éléments du vecteur x,
sort(x) : ordonne les éléments du vecteur x par ordre croissant,
fliplr(x) : échange la position des éléments du vecteur x.

II- Manipulations des matrices

1. Matrices
MATLAB ne fait pas de différence entre les deux. Avec Matlab, on utilise les
crochets [et] pour définir le début et la fin de la matrice. Ainsi pour définir une
variable A contenant la matrice, on pourra écrire :

A = [1, 2,3;11, 12,13;21, 22,23]

Le symbole "," est le séparateur de colonne et ";" séparateur de ligne. On peut aussi définir
des vecteurs, ligne ou colonne, à partir de cette syntaxe (un espace est interprété comme une
virgule)
1.1 Matrices par blocs :
7

Cela consiste à fabriquer ou sélectionner une matrice à partir d’autres matrices


– K = [A B;C D] avec A, B, C, D des matrices aux dimensions compatibles

1.2 Matrices spéciales :


– Commande eye(n) : matrice identité de taille n*n
– Commande ones(m,n) : matrice de 1 de taille m*n
– Commande zeros(m,n) : matrice de zéros de taille m*n
– Commande rand(m,n) : matrice de taille m*n d’éléments générés entre 0 et 1 de
façon aléatoire

Ex : prenez n=10 et m=15 pour appliquer les commandes

2. Vecteurs :
Une matrice est un tableau de n lignes et m colonnes donc de n vecteurs lignes et m vecteurs
colonnes.
Exemple de représentation de vecteur
– Vecteur ligne : x = [1 2 3 4 5] ou x = [1, 2, 3, 4,5]
– Vecteur colonne : x = [1;2;3 ; 4 ; 5]
Longueur d’un vecteur : la Commande length(x)

Appliquer l’exemple aux vecteurs x et de A.

2.1 Accès aux Eléments d’un vecteur :


– x(k) = kème élément du vecteur x
– x(k:l) = éléments k à l du vecteur x
• Suite de nombres dans un vecteur :
– x = a:h:b = suite de a à b de h
– Par défaut, a:b est une suite de a à b de pas h=1
Application au vecteur V=[ 10 11 12 13 14 15 16 17 18 19 20]
Et intervalle -10 :10 par pas de 0.1.
3. Manipulations de Matrices
3.1 Taille d’une matrice :
– Commande size(A) = taille de la matrice
– Commande size (A,1) = nombre de lignes
– Commande size (A, 2) = nombre de colonnes
Ex :Appliquer les commandes size dans une matrice de votre choix.

3.2. Acces et extraction d’eléments d’une matrice :

– Commande A(i,j) = ième élément de la jème ligne


-A(:,j) = extraire tous les éléments de la jème colonne
-A(i,:) = extraire tous les éléments de la ième ligne
8

3.3 Extraire un bloc de la matrice


– A(I,J) = extraire le bloc défini par les vecteurs d’indice I et J I = vecteur
d’indices des lignes à extraire
• J = vecteur d’indices des colonnes à extraire
3.4 Extraire les diagonales

– Commande diag(A) : diagonale principale de la matrice A


– Commande diag(A,k) : sous diagonale de position k par rapport à la diagonale
principale

3.5 Extraire les parties triangulaires :

– Commande tril(A) = partie triangulaire inférieure


– Commande tril(A,k) = partie triangulaire inférieure à partir de la kème
diagonale
– Commande triu(A) = partie triangulaire supérieure
– Commande triu(A,k) = partie triangulaire supérieure à partir de la kème
diagonale

3.6 Opération sur les matrices

-addition de matrices : A+B

-multiplication de matrice par le : ‘*’ multiplier A et B : A*B ;

-multiplier A et B terme à terme :A. *B

-Puissance d’un matrice : ".^" exemple.

-Division de matrices :
La division a un sens vis- à-vis des inverses de matrices. Ainsi A/B représente A
multiplié (au sens des matrices) par la matrice inverse de B. Il existe aussi une
division à gauche qui se note \. Ainsi A\B signifie l'inverse de A multiplié par B.
Ce symbole peut être aussi utilisé pour résoudre des systèmes linéaires : si v est
-1
un vecteur, A\v représente mathématiquement A v, c'est- à-dire la
solution du système linéaire Ax = v.
-transposition d’une matrice : par le ‘ : exemple A’ est le transposé de A.
9

A-Manipulation des matrices avec Matlab :


-Session interactive : TP1
-vecteurs ligne, vecteur colonne, Matrices, matrices
particulières, matrices aléatoires, opérations sur les
matrices
Applications avec les opérateurs suivants (Résumé) :
+ addition de matrices
- soustraction de matrices
* produit de matrices
^ puissance
eye (n) matrice unité (matrice identité) de taille n x n
inv (X) inverse de la matrice carrée X
rank (X) rang de la matrice X (nombre de colonnes ou de lignes indépendantes)
det (X) déterminant de la matrice carrée X
X' transposée de la matrice X
/ division à droite : A / B est équivalent à A * inv(B)
\ division à gauche : A \ B est équivalent à inv(A) * B

Exercice : On pose

1. Expliquer ce que font les instructions suivantes et exécuter les commandes.


2. 3*A; A.*B; A./B; cos(A); exp(B) A+B, A*B ;

3. Appliquer les commandes d’extraction d’éléments et de ligne à A et B.


Soit b =[ 1 ;-2,1].
a. Etudier la résolution de AX = b par la méthode de cramer.
b. Donner la forme échelon réduite de A et B.
10

Exercice 2 :

On note , et les matrices suivantes

1. Calculer les matrices AB, BA et ABT


2. Calculer les déterminants des matrices , , , et .
3. Calculer les inverses des matrices , , , et .
4.

III- AFFICHAGE SIMPLE DANS MATLAB

Affichage simple, la commande disp

La commande disp permet d'afficher un tableau de valeurs numériques ou de


caractères. La commande disp le tableau sans écrire le nom de la variable.
Par exemple disp(['Le déterminant de la matrice A vaut ', num2str(det(A))]).

En effet un tableau doit être d'un type donné, les éléments d'un même tableau ne
peuvent donc être des chaînes de caractères et des valeurs numériques. On a donc
recours à la commande num2str (<< number to string>>. Par défaut la commande
num2str affiche 4 décimales mais il est possible de lui spécifier le nombre de
décimales souhaité en second paramètre.

disp (X) affiche la valeur de la variable X sans imprimer le nom de la variable


exemple a :
A = [15 150];
S = 'Hello';
Affiche la valeur de chaque variable
exemple b :
x = 1:8;
disp(x)
disp(5*9)
disp('Ceci est du texte')

exemple c : ( en partant de l’exemple a)


disp(A)
15 150
disp(S)
Hello
11

X = rand(5,3);
disp(' Corn Oats Hay')
Corn Oats Hay
disp(X)
0.8147 0.0975 0.1576
0.9058 0.2785 0.9706
0.1270 0.5469 0.9572
0.9134 0.9575 0.4854
0.6324 0.9649 0.8003

Afficher un site web avec le lien hypertext ;

X = '<a href = "https://www.gouv.sn">sitr web du gouvernement</a>';


disp(X)

IV- LECTURE ET SAISIE AU CLAVIER

La commande input permet de demander à l'utilisateur d'un programme de fournir


des données. La syntaxe est :
data=input('Donnez votre valeur (par defaut 0)');

Var_x = input(' un un mot ou groupe de mots ').

Une valeur numérique est directement affectée à la variable var_x tandis qu'une
instruction MATLAB est évaluée et le résultat est affecté à la variable var. Il est
possible de provoquer des sauts de ligne pour aérer le présentation en utilisant le
symbole \n de la manière suivante: var_x = input('\n une phrase : \n ').

Si l'on souhaite saisir une réponse de type chaîne de caractères on utilise la syntaxe
var_x = input(' un mot ou groupe de mots ','s'). Signalons qu'un retour chariot
(sans autre chose) initialise la variable var au tableau vide []. Voici un exemple
d'utilisation de la commande input (on suppose que la variable res contient une
valeur numérique).

La fonction input permet la saisie d’une valeur depuis le clavier, pour les valeurs
numériques:

nombre = input (’message’) : affiche un message et affecte à la variable nombre


la valeur numérique entrée au clavier.
Pour les chaînes de caractères:

Nom = input (’message’,’s’) : affiche un message et affecte à la variable nom la


valeur entrée au clavier considérée alors comme une chaîne de caractères.
12

>> y = input('Entrez un y :\n')


Entrez un y :
200

y=
200

>> z= input('Entrez votre salaire :\n', 's')


Entrez votre salaire :
z
La fonction menu
La fonction menu génère un menu dans lequel l’utilisateur doit choisir une option.
result = menu(’titre’, ’option1’, ’option2’, …, ’option-n’)
La valeur retournée dans la variable results est égale au numéro de l’option
choisie. menu est souvent utilisé avec la structure switch-case.
>> results = menu('Mon menu', 'numero1', 'numéro 2', 'numéro 3', 'Quitter')

V- LES SORTIES

Les fonctions de sorties de MATLAB sont disp et sprintf.

 Impression à l'écran fprinff

La commande standard d'écriture dans la fenêtre d'exécution est fprintf qui a la structure
générale suivante :

fprintf(format,var1,var2,...)

où format est une chaîne de caractères décrivant le format d'écriture des variables var1,var2,...
que l'on souhaite afficher. Les principaux types de formats d'écriture sont :

%d entier %5d : entier de longueur 5, par exemple 34562


%f réel %5.2f : réel de longueur 5 avec 2 chiffres après la virgule, par exemple
32.42
%e exponentiel %10.8e : nombre de la forme -21.01e+05
%g réel double précision mode automatique de détection entre %e et %f
%s chaîne de caractères

Par souci de simplicité, on peut se contenter d'utiliser les formats %d,%f,%e sans spécifier de
longueur précise. Par ailleurs on dispose de certains opérateurs de mise en forme , par exemple
\n pour passer à la ligne. Ainsi, on écrira, par exemple :

fprintf('\n Convergence en %d iterations ',it) où it désigne une variable contenant un entier.

Exemple :
13

a = input('Entrez un vecteur-ligne : ');


norme-de-a = sqrt(a * a');
fprintf(1, 'Norme de a = %f\n', norme-de-a)

- Voici trois façons d'afficher plusieurs valeurs de variable sur la même


ligne dans la fenêtre de commande.

- On Concatène plusieurs vecteurs de caractères avec l'opérateur [].

- On convertit toutes les valeurs numériques en caractères avec la


fonction num2str.

- Utilisez disp pour afficher le résultat.


Exemple 1 :
prenom = 'Amadou';
age = 23;
X = [prenom,' aura ',num2str(age),' cette année.'];
disp(X)
Amadou aura 23 cette année.
Utiliser sprintf pour creer un text et l’afficher avec disp.
Exemple 2 :

prenom = 'Amadou';
age = 23;
X = sprintf('%s aura %d cette année.',prenom,age);
disp(X)
Amadou aura 23 cette année.
Utiliser fprintf pour afficher directement le texte sans créer de variable.
Cependant, pour terminer correctement l'affichage, vous devez terminer le
texte avec le métacaractère de nouvelle ligne (\ n).
Exemple 3 :

prenom = 'Amadou';
14

age = 23;
fprintf('%s aura %d cette annee.\n',prenom,age);
Amadou aura 23 cette année.

Première méthode (MATLAB) -- Méthode intéractive


a. Entrer les valeurs des constantes a, b, c (par exemple : » a = 1; (; pour ne pas
afficher la
valeur à l’écran, etc.). Par exemple, pour résoudre le polynome : P(x) = -x2 + 4x
–3 = 0
Il faut entrer :.
» a = -1;
» b = 4;
» a = -3;
b. Définir les solutions du système (« instruire MATLAB comment calculer les
solutions »).
Il faut entrer :
x1 = (-b + sqrt(b^2 - 4*a*c))/2*a, x2 = (-b - sqrt(b^2 - 4*a*c))/2*a

Deuxième méthode (MATLAB)


Écrire un fichier (M-file) dans MATLAB pour résoudre l’équation.
a. Ouvrir File (dans menu), new, ensuite choisir M-File.
b. Taper :
a = input('Enter a: ');
b = input('Enter b: ');
c = input('Enter c: ');
X1 = (-b + sqrt(b^2-4*a*c))/(2*a)
X2 = (-b - sqrt(b^2-4*a*c))/(2*a)
c. Sauvgarder le fichier : polynome.m
d. Load la fonction polynome : taper » polynome

Reprendre l’exercice en utilisant l’instruction if :


%Ce script demande à l’utilisateur d’entrer les valeurs des
coefficients a, b et c et affiche si elles existent les
solutions réelles de l’équation $ax^2+bx+c=0.
disp('Entrez les valeurs a,b et c dans ax^2+bx+c=0');
a=input('Valeur de a ? ');
b=input('Valeur de b ? ');
c=input('Valeur de c ? ');
strEq=[num2str(a),'x^2+',num2str(b),'x+',num2str(c),'=0'];
d=b^2-4*a*c;
if d>0
x1=(-b-sqrt(d))/(2*a);
15

x2=(-b+sqrt(d))/(2*a);
disp('L’’équation '); disp(strEq);
disp('a deux solutions :'); disp(x1);
disp(x2); else if d==0
x0=-b/(2*a);
disp('L’’équation '); disp(strEq);
disp('a une seule solution :');
disp(x0);
else if d<0
disp('L’’équation ');
disp(strEq);
disp('n’a pas de solutions réelles.');
end
end
end

VI- REMARQUES SUR LES STRUCTURES DE CONTROLE


(RAPPEL) :

 boucle for

for indice = borne_inf:borne_sup


suite d'instructions
...
end

indice étant incrémenté de 1 à chaque passage.

borne_inf et borne_sup étant des constantes

 boucle while

while expression logique


suite d'instructions
...
end

Une expression logique est une expression dont le résultat peut être vrai ou
faux. La suite d’instructions est le traitement à effectuer tant que expression
logique est vraie.

 boucle if elseif, else

if condition
suite d'instructions
16

...
elseif condition2
suite d'instructions différente
...
else suite d'instructions
end

 instruction de branchement switch

switch expr
case case_expr,
suite d'instructions différente
case {case_expr1, case_expr2, case_expr3,...}
suite d'instructions différente
...
otherwise,
suite d'instructions différente
end

Importer des donner Excel/Txt :


%C:\Users\DATH, le fichier Excel doit etre dans ce repertoire,
et
%s'afficher dans la fenetre maatlab,
data=xlsread('DATHmetoeData-dakar-yoff.xlsx');
d1=data(:,12);
d2 =data(:,11);
plot(d1,d2,'*')
d11= max(d1)
D111= min(d1)
d22=min(d2)
D222 =max(d2)
plot(d1,d2)

Instructions :
1-placer le fichier à importer dans le répertoire courant de Matlab (path, chemin
d’accés)
2- utiliser la commande xlsread pour lire le fichier (cf exemple)
3- sélectionner les colonnes et lignes que l’on souhaite exploiter (par les
méthodes de sélections utilisées dans les matrices)
4- au besoin, utiliser les outils connus/ commandes pour tracer :
17

-des courbes ;
-des histogrammes
-faire des calculs sur les variables
-etc.
Autres commandes : Load

VII- POLYNOMES EN MATLAB

1. Racine d’un polynome


Dans MATLAB, un polynôme est exprimé sous la forme d’un vecteur-ligne. Les
éléments du vecteur représentent les coefficients du polynôme, dans un ordre
décroissant. La commande roots(p) appliqué au vecteur p représentant le
polynôme, donne les racines..
Example1
Soit à chercher les racines du polynôme suivant :

Solution:
On écrit
p1=[1 −10 35 −50 24] % Spécification des coefficients de p1(x)
p1 =
1 -10 35 -50 24
roots_ p1=roots(p1) % donne les solutions de p1(x)
roots_p1 =
4.0000
3.0000
2.0000
1.0000
18

Rq : les solutions de l’équation sont données en colonne alors que le polynôme


est écrit en ligne.
Example2

Soit à chercher les racines du polynôme suivant :

p2=[1 −7 0 16 25 52]
p2 =
1 -7 0 16 25 52
roots_ p2=roots(p2)
roots_ p2 =
6.5014
2.7428
-1.5711
-0.3366 + 1.3202i
-0.3366 - 1.3202i
Le résultat indique qu’il ya trois racines réelles et deux racines complexes.
2. Construction d’un polynôme à partir de ses racines

La fonction poly(r)
r3=[1 2 3 4] % représentent les racines d’un polynôme
r3 =
1234
poly_r3=poly(r3) % on retrouve les coefficient du polynôme
poly_r3 =
1 -10 35 -50 24
On voit qu’on a le polynôme P1(x) de l’exemple1
Exo : retrouver le polynôme dont les racines sont : –1, –2, –3, 4 + j5, et 4 – j5

3. Evaluation d’un polynôme pour des valeurs spécifiées

La fonction polyval(p,x) permet d’évaluer la valeur d’un polynôme pour des


valeurs données.
Exemple : soit

Solution:
19

p5=[1 −3 0 5 −4 3 2]; % coefficients du polynôme

val_minus3=polyval(p5, -3) % Evalue p5 à x=−3.


% la valeur de p5 pour x=-3 est donnée par :
val_minus3 =
1280

4. Multiplication et division de polynôme

La fonction conv(a,b) multiplie deux polynômes a et b. par exemple si on a


deux polynômes définis par :

Le produit P1.P2 est donnée par conv(p1,p2)

Solution :

p1=[1 −3 0 5 7 9];% représentation du polynôme P1


p2=[2 0 −8 0 4 10 12]; %représentation du polynôme P2

p1p2=conv(p1,p2) % produit du polynôme P2 par P1

p1p2 =
2 -6 -8 34 18 -24 -74 -88 78 166 174 108

Le polynôme produit est alors :

La fonction [q,r]=deconv(c,d) ; divise un polynôme c par un polynôme d et


affiche le quotient q et le reste r

Exemple : effectuer la division des polynômes suivants :


20

Solution:
p3=[1 0 −3 0 5 7 9]; p4=[2 −8 0 0 4 10 12]; [q,r]=deconv(p3,p4)
q=
0.5000
r=
0 4 -3 0 3 2 3

Les fonctions q et r sont :

5. Dérivation de polynôme

La function polyder(p) donne les coefficients du polynôme dérivé de p.

Soit le polynôme suivant :

Trouver la fonction derivée de p5 ; soit dP5/dx :

Solution :

p5=[2 0 8 0 4 10 12];
der_p5=polyder(p5)
der_p5 =
12 0 -32 0 8 10

Des lors, on peut ecrire que :

VIII COURBES EN MATLAB


Exercice1 :

Age 20 25 30 35 40 45 50 55 60 65 70
revenus
150 146 142 139 135 131 127 124 120 116 112
21

age=[20,25,30,35,40,45,50,55,60,65,70,75];
%une progression par pas de 5,on aurais pu ecrire age=20:5:75;
revenus=[20,22,80,85,180,190,250,275,55,50,35,30];
%plot tracer une courbe
plot(age,revenus, ’*’)
title ('evolution revenus en fonction de age')
% axes des abscisse, xlabel et ylabe axes des ordonnées
ylabel ('revenu')
xlabel('age')

Exo1-b : on reprend les données de l’exo 1.

x=20:5:70

y=[150 146 142 139 135 131 127 124 120 116 112]

plot(x,y,'*') % trace de la courbe age en function des pulsions cardiaques

a1=polyfit(x,y,1) % on trouve un polynome qui decrit la variation de x en


fontion de y c’est un polynome de degré 1. Interpolation lineaire par ce
polynone de degre 1

xi=linspace(20,70,250);

yi=polyval(a1,xi);

hold on

v=[20 70 100 150];

plot(xi,yi)

axis(v)

xlabel('Age (années)')

ylabel('pulsions cardiaque')

1 -rechercher les informations sur la fonction polyfit . que fait-elle ?

2-commenter chaque ligne de commande.

3-interpréter le résultat

Exercice 2 :

On veut procéder au de tracé d'une gaussienne

Compléter et interpréter le code suivant pour le tracé :

X = [ 10:.1:100];
22

sigma = 10; mu = 50;

Gauss = exp( -(X - mu) .*(X - mu) / (2*sigma^2) ) / (sqrt(2*pi) * sigma);

plot( X , Gauss,'r')

exercice 3 : Compléter ce code pour tracer une gaussienne d’une autre façon.
clear
%n = input('Enter the number of values to be generated ');
mu = input('Enter the population mean ');
sigsq = input('Enter the population variance ');
sigma = sqrt(sigsq);
X = [ 10:.1:100]
Gauss = exp( -(X - mu) .*(X - mu) / (2*sigma^2) ) / (sqrt(2*pi) * sigma);

plot( X , Gauss,'r')

Subplot et grid on, hold on hold of


Ex1 :
x = linspace(0,10);
y = sin(x);
plot(x,y)

ex1: suite:
x = linspace(0 :1 :10);
y = sin(x);
plot(x,y)
y2 = 2*sin(x);
hold on
axis manual
plot(x,y2)
hold off

Ex2:

X=0:0.05:1;

Y1=X;

Y2=X.^2;

Y3=X.^3;

Y4=X.^4;

plot(X, Y1, X, Y2, X, Y3, X, Y4);

title('Graphes de fonctions puissances y=x^n ');

grid on

xlabel('x');

ylabel('y'); legend('n=1','n=2','n=3', 'n=4'); axis square


23

>> x = 0:0.1:10;

y1 = sin(x);

y2 = sin(2*x);

y3 = sin(4*x);

y4 = sin(8*x);

subplot(2,2,1);

plot(x,y1);

title('trace de la fonction 1: sin(x)')

subplot(2,2,2);

plot(x,y2);

title(' tracé de la fonction 2: sin(2x)')

subplot(2,2,3)

plot(x,y3, '+');

title('tracé de la fonction 3: sin(4x)')

subplot(2,2,4)

plot(x,y4);

title('tracé de la fonction 4: sin(8x)')

MATLAB est aussi capable de représenter graphiquement les fonctions de deux


variables de la forme z = f (x, y). Soit sous forme de surface 3D (commande
surf), soit sous forme de lignes de niveaux (commandes contour et
contourf).
Ex3 :
>> [X,Y] = meshgrid(-2:.2:2); Z = X.^2 - Y.^2;
subplot(2,1,1);
surf(X,Y,Z);
title('Graphe de f(x,y)=x^2-y^2'); subplot(2,1,2);
contour(X,Y,Z);
title('Lignes de niveaux de f(x,y)=x^2-y^2');

EX4 :Tracez a l’aide de matlab les lignes de niveau de la fonction f(x, y) = (1 - x)2 + 100(y -
x2)2 sur [-2, 2]

Vous aimerez peut-être aussi