Feuille Matlab 23 24

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 12

M.

Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 1

Rappel Matlab

.1 Présentation de Matlab
Matlab (Matrix Laboratory) est un logiciel de calcul matriciel à syntaxe ’simple’(relative-
ment à des langages évolués comme C, C++). MATLAB est un interpréteur de commandes:
les instructions sont interprétées et exécutées ligne par ligne (pas de compilation avant de
les exécuter). Il existe deux modes de fonctionnement:

mode interactif: MATLAB exécute les instructions au fur et à mesure qu’elles sont
données par l’usager.

mode exécutif: MATLAB exécute ligne par ligne un …chier ".m" (programme en lan-
gage MATLAB).

.2 Ouverture de Matlab
M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 2

Les di¤érentes fenêtres :

– Dans la fenêtre d’édition de commande taper x = 1 et visualiser les conséquences


sur la fenêtre d’espace de travail et d’historique de commande.

Les variables

– La variable x a été dé…nie très simplement sans avoir à préciser le type de donnée
qu’elle contient ni sa taille : c’est un des grands avantagesde MATLAB (mais
parfois aussi un inconvénient. Ex: pi = 18, sin = 3, a¤ectation de valeurs à
des variables déjà connues de Matlab au risque de se tromper par la suite dans
l’interprétation);
– Une variable est dé…nie par sa classe (son type). Ex : double, char. . . Pour avoir
une information sur une variable x : whos x
– Pour e¤acer la variable x de l’espace de travail, taper clear x
– Pour e¤acer toutes les variables de l’espace de travail taper clear all

.3 Matrices
Sous matlab, les données sont généralement dé…nies comme des matrices, en d’autres termes:
des tableaux à 1, 2 . . . n dimensions. On se contentera ici que des tableaux à 1 ou 2
dimensions.

Exemples 1 Si on tape A = 10, on dé…nit une variable A correspondant à une matrice


à 1 ligne et 1 colonne contenant le nombre 10.

Si on tape A = [-1 0 4], on dé…nit une variable A correspondant à une matrice à


1ligne et 3 colonnes contenant les nombre -1, 0 et 4 (On peut parler dans ce cas de
vecteur). Les espaces entre les nombres permettent de délimiter les colonnes (on peut
aussi utiliser des virgules pour cela) .

Si on tape A = [1 8 9 ; 2 3 6], on dé…nit une matrice A à 2 lignes et 3 colonnes. Les


caractères ; permettent de passer à la ligne et les espaces délimitent les colonnes.

Concaténation : si on a A = [1 2 3] et B = [4 5 6 7], on peut concaténer les 2 variables


en une seule : C = [A B], on aura alors C = [1 2 3 4 5 6 7];

Remarque 1 Si l’on ne souhaite pas voir a¢ cher la valeur de la variable qu’on dé…nit, il
su¢ t de terminer la commande par le caractère « ; » . La variable est alors bien dé…nie (on
le véri…e dans l’espace de travail) mais elle ne s’a¢ che pas. Si on veut véri…er la valeur de
cette variable il su¢ t de taper le nom de cette variable sans « ; » .
M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 3

Pour créer un vecteur A (matrice à 1 ligne ou 1 colonne) contenant des nombres


régulièrement espacés d’un pas p, commençant par le nombre u et …nissant par v, il
su¢ t de taper :
A=u:p:v

Exemples 2 1. Vecteur commençant par 0 et allant jusqu’à 100 :A = 0 : 100


2. vecteur commençant par 3 et …nissant par 27 par pas de 3 : A = 3 :3 :27 (on
aura alors A = [3 6 9 12 15 18 21 24 27] ).
3. Pour transformer un vecteur ligne en vecteur colonne ou inversement, il su¢ t
d’utiliser le caractère ’(apostrophe) après le vecteur à transformer : si on dé…nit
A = [1 4 2 6] (vecteur ligne), alors A’est égal à [1 ;2 ;3 ;4] (vecteur colonne).

Remarque 2 le caractère ’ est en fait le symbole de transposition, il est applicable à une


matrice quelconque. Si A = [1 2 3 ; 4 5 6 ; 7 8 9] alors A’= [1 4 7 ; 2 5 8 ; 3 6 9]

.4 Les opérations de base pour les scalaires


On dé…nit les variables a = 1 et b = 2, et on se propose de sauvegarder le résultat des
opérations algébriques dans la variable c

.5 Quelques opérations de base pour les tableaux

Maintenant, on va créer un vecteur ligne a et juste après on va dé…nir le vecteur b comme le


transposé de a.
M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 4

On peut calculer le produit scalaire entre a et b en écrivant,

Par contre le produit b a donne

On peut véri…er que le determinant de la matrice mat est nul, en e¤et


M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 5

On ajoute la matrice identité à la matrice mat et on calcule le determinant cette somme,


on a alors

Pour se renseigner sur une commande, il su¢ t d’écrire : help commande dans la femêtre
commande de Matlab, par exemple
M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 6

Maintenant si on veut résoudre le système linéaire mat x = b où x est l’inconnue, il


su¢ t de faire

et pour véri…er le résultat, il su¢ t de faire


Parmis les points fort de Matlab est son capacité d’opérer sur plusieurs éléments de
matrices et/ou de vecteurs en même temps. Dans l’exemple au dessous, un vecteur ligne
zéro est créé ( help zeros ), ses trois premiers éléments sont initialisés, par contre le second
et le cinquième, on leur a¤ecte des valeurs spéci…ques.
M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 7

cette téchnique peut être appliquer pour les matrices comme le montre l’exemple suivant
:

Souvent on est confronté d’entrer une matrice complète à partir d’un …chier.m ou à
partir d’une ligne commande Matlab. Les lignes de la matrices sont limitées par le symbole
;. Exemple
M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 8

Matlab mémorise les matrices sous forme de vecteurs. On suppose qu’on a une matrice a
de type (M; N ). Matlab et d’une manière implicite, va créer un vecteur dont les M premiers
coé¢ cients sont les coé¢ cients de la première colonne de a, suivis par les M cooé¢ cients de
la dexième colonne.... Par exemple si on utilise la matrice au dessus et on demande à Matlab
d’écrire a(4) on aura :

Les opérateurs comme l’opérateur produit , l’opérateur exponentielle ^ et d’autres


peuvent être appliqués aux matrices comme pour les valeurs scalaires. En e¤et, soient les
matrices
on a
M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 9

c’est le produit matriciel classique, par contre si on fait suivre a par un point, dans
ce cas le resultat est la matrice dont les coé¢ cients sont le produit des coé¢ cients qui se
correspondent dans les deux matrices, comme le montre l’exemple suivant :

.6 Les …chiers extension .m


Les codes Matlab peuvent être sauvegarder dans des …chiers extention .m. Ces …chiers
peuvent être éxecutés simplement en tapant le nom du …chier dans une ligne commande.
Supposons que nous avons créé le …chier exemple.m contenant les lignes suivantes :

le …chier peut être convenablement créé via l’éditeur des …chiers de Matlab, et ceci en
en écrivant la commande edit dans la fenêtre commande de Matlab. A partir d’une ligne
commande Matlab on execute et on obtient :
M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 10

.7 Contrôle de ‡ux
teste if
Supposons qu’on a créé le …chier if_…le.m suivant alors à partir de la ligne commande on a

Un deuxième exemple concerne la dé…nition de la matrice A de raideur employée dans les


code de MEF. La variable type peut prendre la valeur 1 ou 0. E et nu sont des paramètres
M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 11

.8 Boucle for
Supposons que nous avons créé le …chier for_…le.m :

le vecteur a est créé comme une ligne de 10 zéros (utiliser help zeros pour avoir plus
d’information à propos de zeros). Par suite la boucle for est utilisée pour l’initialiser

En fait ce n’était pas la façon la plus performante pour initialiser le vecteur a. il serait plus
élégant de faire : cette commande est interprétée comme suit : créer un vecteur a dont les
coordonnées sont obtenues en commançant par 1 et ajoutant 2 sans dépasser 20.
M. Essaouini , Département de Mathématiques, FSJ , Université Chouaib Doukkali, 2023-2024 12

.9 Les fonctions
Il est souvent convenable de mettre une série de commande dans une fonction avec des entrées
(inputs ) et des sorties (outputs). La fonction doit être sauvegardée dans …chier .m qui a le
même nom que la fonction elle même. Pour une illustration, on va considérer ex_func.m. La
fonction ex_func accépte a comme input et calcule b comme output selon certaines régles:
ainsi à partir d’une ligne commande on a

Vous aimerez peut-être aussi