Vous êtes sur la page 1sur 5

Université de Tlemcen TP Méthodes numériques

Master 1 CMDE
Faculté de technologie L2 AUTO/ELT/ELN
Département GEE 2019/2020
2022/2023

Travaux pratiques
TP 1 d’optimisation
: Rappel sur MATLAB
TP n° 1
1- Objectifs :

Rappel des connaissances déjà acquises en programmation Matlab concernant le calcul


matriciel, la création des fichiers scripts et fonctions.

2- Exercice 1

Commençons en douceur !

Effectuer les commandes Matlab suivantes, recopier le résultat affiché et commenter les
résultats obtenus :

Commandes Résultats Commentaires

»x = [1 2 3 4]
»y = [−1, 0, −6, 2]

»z = y’

»u = 3∗x−y+2

»size(x)
»size(y)
»length(z)
»length(u)

»x – z

»y./x
»x./y

»x ∗ x’

»x’ ∗ x

»x/y
»(x ∗ y’)/(y ∗ y’)
»x.ˆ2
»sin(x)
»who
»whos

1
Wahida.handouzi@gmail.com
Université de Tlemcen TP Méthodes
Master numériques
1 CMDE
Faculté de technologie L2 AUTO/ELT/ELN
Département GEE 2019/2020
2022/2023

Commandes Résultats Commentaires


»A = [4 -1 2 0 ; 1 5
1 -2 ; -2 2 6 1 ; 1 0
-3 5]
»A ∗ x
»A ∗ x’
»B = inv(A)
»B ∗ A

»B ∗ x’

»size(A), size(B),
size(x), size(x’)
»A(1, 1)
»A(1, 1 : 2)
»A(1 : 2, :)
»Aˆ2
»A.ˆ2

»x=-1 :0.1 :1

»y=sin(x)

»plot(x,y)

»title(’exemple de
graphique 2D’)
»xlabel(’axe x’)
»ylabel(’axe y’)
»grid on
»hold on
»plot(x,cos(x),’+r’)

3- Exercice 2:

Soit M, la matrice définie par :

12 24 36 58
𝑀=[2 6 8 10] La sous matrice M1
7 9 11 13

Ecrire un script Matlab qui permet d’extraire :

• L’élément situé dans la troisième ligne et la quatrième colonne.


• Le vecteur L3 contenant tous les éléments de la troisième ligne.
• Le vecteur C4 contenant tous les éléments de la quatrième colonne.
• La sous matrice M1 du matrice M, constitué à partir de l’intersection de la deuxième
et la troisième colonne avec la deuxième et la troisième ligne.

2
Wahida.handouzi@gmail.com
Université de Tlemcen Master 1 CMDE
TP Méthodes numériques
Faculté de technologie L2 AUTO/ELT/ELN
Département GEE 2019/2020
2022/2023

• La matrice M2 dont ses lignes sont celles de la matrice M mais afficher en sens
inverse.

7 9 11 13
𝑀2 = [ 2 6 8 10]
12 24 36 58

• Mettre tous les éléments de la deuxième ligne égaux à deux.

Remarque : seule la matrice M qui est déclarée manuellement.

Un peu d’aide ! voilà des exemples

4- Scripts et fonctions :

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. Il est
beaucoup plus simple de modifier des instructions dans un fichier à l'aide d'un éditeur de texte
que de retaper un ensemble d'instructions MATLAB dans la fenêtre de commande.
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).
- Ils sont également un élément important dans la programmation d'applications où les
fonctions jouent le rôle des fonctions et procédures des langages de programmation
usuels.

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

3
Wahida.handouzi@gmail.com
Université de Tlemcen Master 1 CMDE
Faculté de technologie TP Méthodes numériques
L22019/2020
AUTO/ELT/ELN
Département GEE 2022/2023

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 nomfonc.m sans quoi cette fonction ne sera pas << visible >> par MATLAB.

Exemple d’un script :

a= 1:15
b= size(a)
c= sum(a)

Exemple d’une fonction :

function [ y ] = moyenne( x )
%x : vecteur des valeurs
%y : la moyenne des valeurs de x
y=sum(x)/length(x);
end

5- Exercice 3 :

La tension au bord d’une capacité qui se décharge est régit par la fonction suivante :
𝑣(𝑡) = 10(1 − 𝑒 −0.2𝑡 )
a. Créer une fonction MATLAB qui retourne le résultat de 𝑣(𝑡).
b. Tester la fonction pour 𝑡 = 0 → 50𝑠 avec un incrément de 5.
c. À l’aide de l’instruction plot tracer 𝑣(𝑡) 𝑜ù 𝑡 = 0 → 50
6- Structure de contrôle :
a. Boucle « For »
La boucle « For » permet de répéter une ou un groupe d’instructions « N » fois
(N est un nombre fixe). La forme générale de la boucle « For » est :

for index=expression
%groupe d'instructions
end

4
Wahida.handouzi@gmail.com
Université de Tlemcen Master
TP 1 CMDE
Méthodes numériques
Faculté de technologie L2 AUTO/ELT/ELN
Département GEE 2019/2020
2022/2023

• Exemple

somme = 0;
for i = 1:100
somme = somme + i;
end
somme

b. Boucle While
La boucle « while » consiste à répéter une ou un groupe d’instructions tant que
la condition spécifier est respecter. Elle est de la forme

while condition
%instructions
end

Exemple

somme =0;
i=1;
while i<100
somme =somme +i;
i=i+1;
end

c. If …. Else
Elle permet de contrôler les instructions du programme à traiter en fonction
d’opérations logiques ou relationnelles. Elle est déclaré comme suit :

if expression
%Groupe instructions 1
else
%Groupe instructions 2
end

• Exemple

a=-5;
if a<0
a=-a;
else
a=a;
end

7- Exercice 4
Développer et tester une fonction MATLAB prime( N )qui permet de calculer tous les
Ecrirepremiers
nombres un programme
< N (OùMatlab
N est unqui permet
nombre de résoudre
entier < 100). une équation du deuxième ordre.
L’équation
Remarque : Uns’écrit
nombre d’une
entiermanière générale
N est premier souspas
s’il n’est la forme : ax^2+bx+c=0
divisible par tous les nombres
premiers ≤ √𝑁.

5
Wahida.handouzi@gmail.com

Vous aimerez peut-être aussi