MATLAB
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 ), 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.
Installation de Matlab sur un ordinateur personnel
Matlab est disponible pour tous les membres de la communauté UdeM.
- Visiter la page : https://www.mathworks.com/academia/tah-portal/universite-de-montreal-40641121.html.
- Dans la boîte intitulée 'Télécharger MATLAB', cliquer sur le lien intitulé 'Commencer dès aujourd'hui'
- Vous devez d'abord vous créer un compte 'MathWorks', obligatoirement avec votre adresse institutionnel.
- Un email d'activation vous sera envoyé afin de pouvoir vous connecté avec votre compte sur le site de Mathworks.
- Une fois connecté vous devrez cliquer sur le bouton 'Download installer'.
- Cliquer sur le bouton 'Download R2017b'
- Cliquer sur le bouton qui correspond à votre type de système, que se soit Windows, Linux ou MacOS.
- Suivez la procédure de téléchargement et d'installation affichée à l'écran.
Pour obtenir la clé d'activation de Matlab, utilisez votre adresse @umontreal.ca. |
Démarrer une simulation en arrière-plan
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 &
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.
- Addition de vecteurs/matrices sous MATLAB (fichier compilé "MEX")
- Addition de vecteurs/matrices sous MATLAB (fichier compilé "MEX") avec code CUDA
- Addition de vecteurs/matrices déclarées avec le toolbox "GPUmat" sous MATLAB (fichier compilé "MEX")
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 :