Débuter en programmation Matlab

1 Introduction
2 Fonctionnement
2.1 Lancement
2.2 L’environnement de travail
2.3 Les modes de travail
2.4 Accés  a l’aide en ligne
2.5 Les noms de variables et de fonctions
3 Machine a calculer
3.1 Le mode interactif
3.2 Calcul sur des nombres
3.3 Trace de courbes
3.3.1 Bien comprendre la syntaxe
3.3.2 Piége
3.3.3 Principe de la commande plot
3.4 Affichage des nombres
3.5 Nombres complexes
4 Les matrices
4.1 Construction
4.2 Acces aux elements d’une matrice
4.3 Opérations
5 Instructions de controle
5.1 Boucles inconditionnelles
5.2 Boucles conditionnelles
5.3 Branchements conditionnels
6 Programmation
6.1 Le mode programmation
6.2 Comment Matlab retrouve-t’il les scripts ?
6.3 Fonctions definies par l’utilisateur
6.4 Recommandations
7 Resolution approchée d’une equation differentielle du premier ordre
7.1 Principe
7.2 Mode d’emploi des solveurs de Matlab

Introduction

Matlab (matrix laboratory) est un système interactif de calcul numérique utilisable comme une calculette et qui dispose d’un grand nombre de fonctions, d’un langage de programmation et d’outils de visualisation graphique.
La structure de base sur laquelle travaille Matlab est la matrice . Cela se fait sans déclarations de type et les allocations de mémoire ou les redimensionnements sont effectues sans intervention de l’utilisateur, d’ou une grande souplesse d’emploi.

Fonctionnement

Lancement
Pour lancer une session Matlab, se reporter aux feuilles de TP.

L’environnement de travail
Matlab met a disposition de l’utilisateurs plusieurs fenetres (la fenetre de commandes, la fenetre de l’éditeur, la fenetre de l’aide, la fenetre de lancement, la fenetre de l’historique, la fenˆetre de l’occupation mémoire, la fenetre du répertoire).
Pour l’usage que l’on en fera, on utilisera EXCLUSIVEMENT
– la fenetre de commandes dans laquelles seront tapées les commandes,
– la fenetre éditeur qui permet d’éditer des fichiers de commandes,
– la fenetre de l’aide.

Les modes de travail
Matlab fonctionne suivant deux modes, le mode interactif et le mode programmation.
Dans les deux cas, l’utilisateur peut définir ses propres fonctions et les utiliser. Le premier est décrit au paragraphe 3.3.2, le second au paragraphe 6.

Acces a  l’aide en ligne
Cliquer sur ?.

Les noms de variables et de fonctions
Les noms de variables et de fonctions sont constitués d’une lettre suivie d’au plus 30 autres caractères, chacun pouvant etre un chiffre, une lettre ou le caractère souligné (underscore en anglais). Matlab fait la distinction entre minuscules et majuscules.

Machine a calculer

Le mode interactif
C’est le mode calculette. Les instructions sont tapées successivement dans l’ordre d’exécution dans la fenetre de commande. Chaque ligne d’instructions est terminée par un retour-chariot (touche Entrée) qui valide la ligne. La ligne d’instructions est alors interprétée et les instructions qu’elle contient sont immédiatement exécutées. Le résultat (respectivement un message d’erreur) est affiché en cas de bon fonctionnement (respectivement en cas d’erreur).
L’affichage du résultat d’une instruction est parfois indésirable : pour le supprimer, il suffit de terminer l’instruction par un point-virgule.
Conseil : Utiliser la touche ↑ pour rappeler une commande antérieure, puis, après éventuelle modification, la relancer par un retour-chariot.

Calcul sur des nombres
Meme fonctionnement et meme ordre de priorité que sur toutes les machines a calculer standard : d’abord l’élévation a une puissance ( b ), puis la multiplication et la division (∗ et /) et enfin l’addition et la soustraction (+ et −). Pour modifier l’ordre des opérations ou encore pour le mettre en évidence, on utilise des parenthèses.
Fonctions : sin, cos, tan, cot, asin, acos, atan, acot, cosh, sinh, tanh, coth, acosh, asinh, atanh, acoth, exp, log, log10, sqrt, abs, sign, mod, rem, round, floor, ceil, fix.
Exemples :
x=3/2+1.9
y=1+3^4/2*5
z=(1+3)^4/2*5
a=abs(sin(x))+log(y)+exp(-z)
Les instructions ci-dessus donnent a x, y, z les valeurs 3.4, 203.5, 640.

Tracé de courbes
Bien comprendre la syntaxe
Pour tracer la courbe représentative de la fonction sin sur l’intervalle [0, 2π], il suffit de taper x=0:0.01:2*pi;
plot(x,sin(x))
On a l’impression que la première commande définit un intervalle sur lequel est définie la fonction sin, et que la seconde produit une courbe continue. Ce n’est pas du tout comme cela que Matlab interprète ces commandes. Pour le voir, lancer les instructions ci-dessus, en remplacant 0.01 par 1, et en retirant le point-virgule a la fin de la première instruction (qui empeche l’affichage du résultat). Matlab ignore les intervalles et les fonctions d’une variable réelle, il ne connait que des listes de valeurs numériques.
Piége
Pourquoi l’instruction
x=0:1:2*pi;
y=x*sin(x)
provoque-t-elle une erreur ? Parce que, pour Matlab, les vecteurs-lignes sont des cas particuliers de matrices, que les matrices ont une fa¸con bien particulière de se multiplier entre elles, qui diffère de la multiplication terme a terme (voir au paragraphe 4.3). Au lieu de y=x*sin(x), il faut écrire y=x.*sin(x). . De meme, au lieu de y=sin(x)/x, il faut écrire y=sin(x)./x, et au lieu de y=2^x, il faut écrire y=2.^x, lorsque x est un vecteur-ligne. Cette erreur est tres frequente.
Principe de la commande plot
– Tracé d’une ligne brisée
Il s’agit plus exactement de tracés de lignes brisées. Si x, y sont deux vecteurs-lignes (ou deux vecteurs-colonnes) de meme taille n, la commande plot(x,y) réalise le tracé de la ligne brisée qui relie les points de coordonnées (x(j ), y (j )) pour j = 1, . . . , n dans une fenetre graphique séparée. On peut choisir la couleur et le type du trait (trait plein, tirets, pointillés ou points isolés) et placer des marqueurs (cercles, croix, triangles, etc.) aux sommets de la ligne brisée (pour lister les possibilités, faire help plot).

….

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Débuter en Matlab (222 KO) (Cours PDF)
Débuter en Matlab

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *