MATLAB

De WikiDMS
Aller à : navigation, rechercher
Matlab Logo.png

MATLAB est à la fois un langage de programmation et un environnement de développement développé et commercialisé par la société américaine MathWorks. MATLAB est utilisé dans les domaines de l'éducation, de la recherche et de l'industrie pour le calcul numérique mais aussi dans les phases de développement de projets.

Au Département, les toolbox suivant sont installés : Bioinformatics (1), Datafeed (1), Jacket (2), Image Processing (1), Optimization (1), Partial Differential Equations (1), Spline (1), Statistics (10). Le nombre de licences disponibles pour chaque toolbox est indiqué entre parenthèses.


Guide

Démarrage

Pour démarrer MATLAB en mode graphique, entrez

matlab

depuis un terminal de commandes (icône TerminalIcone.png), ou encore cliquez sur l'icône au logo de MATLAB situé sur la barre du haut.

Vous pouvez également lancer MATLAB en mode ligne de commandes. Pour ce faire entrez

matlab -nodesktop

depuis une fenêtre de terminal.

Démarrer une simulation en arrière-plan

Attention.png

Avant d'entreprendre des simulations numériques sur les machines du Département, vous êtes encouragé à consulter la page Simulations, en particulier la section traitant des consignes à respecter.

Pour démarrer le script test.m en arrière-plan (batch), employez la commande

nohup matlab -nodisplay -nodesktop -nojvm -nosplash < test.m > /dev/null &

ou, tout simplement,

matlabbg < test.m > /dev/null &
Attention.png

Il est à noter que lancer une simulation en arrière plan peut s’avérer problématique lorsque vous désirez générer des graphiques et des animations.

Exemple

Dans le script qui suit, deux matrices 3x3 de nombres aléatoires sont additionnées et le résultat est enregistré, avec la fonction fprintf, dans le fichier data.csv du compte de l'usager :

rng(123);                       % La graine (de départ) du générateur de nombres aléatoires est fixée à "123".
n=3;
A=rand(n,n); B=rand(n,n);

% Ci-dessous, le fichier "data.csv" est ouvert et le résultat "A+B" est écrit sur trois colonnes séparées par une virgule. 
% Finalement, le fichier est refermé.

fichier = fopen('~/data.csv','w');
fprintf(fichier,'%6.2f, %6.2f, %6.2f\n',A+B);
fclose(fichier);

Pour démarrer ce script, appelé exemple.m, il suffit d'entrer la commande

matlabbg < exemple.m > /dev/null &

Voici l'allure du résultat enregistré dans data.csv :

1.09,   0.63,   0.96
0.99,   0.78,   0.82
1.72,   0.87,   0.66

Calculs en parallèle

Lorsque vos calculs s'y prêtent (opérations sur matrices et vecteurs, boucle avec itérations indépendantes, etc.), l'exécution de votre script en parallèle peut être très avantageuse.

Les machines tigre et lionceau de labomat comprennent le toolbox Jacket permettant de faire exécuter votre code en parallèle par le processeur de la carte graphique (GPU). Consultez la page dédiée pour plus d'informations.

Exemples

Fichiers compilés MEX et programmation GPU

MATLAB offre la possibilité de compiler des programmes écrits en C et en CUDA en fichiers MEX (MATLAB Executables), fichiers d'extension MEXGLX (Linux 32 bits) ou MEXA64 (Linux 64 bits). Les fichiers MEX doivent être exécutés depuis MATLAB. Puisque ces fichiers sont déjà compilés, ils s'exécutent très rapidement et peuvent ainsi contribuer à accélérer considérablement l'exécution de votre code MATLAB.

Le dernier exemple de la liste montre comment écrire un fichier MEX pouvant interagir avec le toolbox GPUmat, un toolbox gratuit rendant possible la programmation GPU dans MATLAB.

Voir aussi

Séminaires MATLAB

L'équipe informatique offre, selon les besoins, Un séminaire MATLAB pour introduire les outils offerts par le programme. Les fichiers suivants sont présentés pendant le séminaire :

Articles connexes

Références externes