Différences entre les versions de « MATLAB »
(54 versions intermédiaires par 7 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | <!-- MATLAB, matlab, Matlab, calcul numérique, calculs numériques, simulation, simulations --> | ||
[[Catégorie:Logiciels]] | [[Catégorie:Logiciels]] | ||
− | [[Image:Matlab_Logo.png|thumb | + | [[Image:Matlab_Logo.png|thumb]] |
− | |||
− | |||
+ | '''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. | ||
__TOC__ | __TOC__ | ||
Ligne 15 : | Ligne 15 : | ||
matlab | matlab | ||
</pre> | </pre> | ||
− | depuis un terminal de commandes, ou encore cliquez sur l'icône au logo de MATLAB situé sur la barre du haut. | + | depuis un terminal de [[Commandes_élémentaires|commandes]] (icône [[Image: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 | Vous pouvez également lancer MATLAB en mode ligne de commandes. Pour ce faire entrez | ||
Ligne 22 : | Ligne 22 : | ||
</pre> | </pre> | ||
depuis une fenêtre de terminal. | depuis une fenêtre de terminal. | ||
+ | |||
+ | === Installation de Matlab (version standalone) 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 départementale. | ||
+ | * Un email d'activation vous sera envoyé afin de pouvoir vous connecter avec votre compte personnalisé sur le site de Mathworks. | ||
+ | * Une fois connecté vous devrez cliquer sur le bouton 'Download installer'. | ||
+ | * Cliquer sur le bouton 'Download R20...'. | ||
+ | * 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. | ||
+ | {| | ||
+ | |rowspan="2"|[[Image:Attention.png|40px]] | ||
+ | | | ||
+ | Pour obtenir la clé d'activation de Matlab, utilisez votre adresse ''@dms.umontreal.ca'' ou ''@umontreal.ca''. | ||
+ | |} | ||
+ | |||
+ | === Démarrer une [[Simulations|simulation]] en arrière-plan === | ||
+ | {| | ||
+ | |rowspan="1"|[[Image:Attention.png|40px]] | ||
+ | | | ||
+ | Avant d'entreprendre des simulations numériques sur les machines du Département, vous êtes encouragé à consulter la page [[Simulations|Simulations]], en particulier la section traitant des [[Simulations#Consignes_à_respecter|consignes à respecter]]. | ||
+ | |} | ||
+ | |||
+ | Pour démarrer le script <tt>test.m</tt> en arrière-plan (''batch''), employez la commande | ||
+ | <pre> | ||
+ | nohup matlab -nodisplay -nodesktop -nojvm -nosplash < test.m > /dev/null & | ||
+ | </pre> | ||
+ | ou, tout simplement, | ||
+ | <pre> | ||
+ | matlabbg test.m message.out & | ||
+ | </pre> | ||
+ | {| | ||
+ | |rowspan="1"|[[Image:Attention.png|40px]] | ||
+ | | | ||
+ | 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 <tt>fprintf</tt>, dans le fichier <tt>data.csv</tt> du compte de l'usager : | ||
+ | <pre> | ||
+ | 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); | ||
+ | </pre> | ||
+ | |||
+ | Pour démarrer ce script, appelé <tt>exemple.m</tt>, il suffit d'entrer la commande | ||
+ | <pre> | ||
+ | matlabbg exemple.m message.out & | ||
+ | </pre> | ||
+ | Voici l'allure du résultat enregistré dans <tt>data.csv</tt> : | ||
+ | <pre> | ||
+ | 1.09, 0.63, 0.96 | ||
+ | 0.99, 0.78, 0.82 | ||
+ | 1.72, 0.87, 0.66 | ||
+ | </pre> | ||
+ | |||
+ | === 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. Vous pouvez | ||
+ | exécuter votre code en parallèle par le [[Programmation_GPU|processeur de la carte graphique (GPU)]]. | ||
== Exemples == | == Exemples == | ||
− | === | + | === Fichiers compilés ''MEX'' et programmation GPU === |
+ | |||
+ | MATLAB offre la possibilité de compiler des programmes écrits en C et en [[CUDA|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. | ||
+ | |||
+ | * [http://www.dms.umontreal.ca/downloads/CUDA/exemples/AddMat.c Addition de vecteurs/matrices sous MATLAB (fichier compilé "MEX")] | ||
+ | * [http://www.dms.umontreal.ca/downloads/CUDA/exemples/AddMatCUDA.cu Addition de vecteurs/matrices sous MATLAB (fichier compilé "MEX") avec code CUDA] | ||
+ | * [http://www.dms.umontreal.ca/downloads/CUDA/exemples/AddMatGPUmat.cu 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|GPUmat]], un toolbox gratuit rendant possible la [[Programmation_GPU|programmation GPU]] dans MATLAB. | ||
== Voir aussi == | == 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 : | ||
+ | |||
+ | * [http://www.dms.umontreal.ca/wiki/images/0/0e/Matlab-Damien.zip MATLAB] | ||
+ | |||
+ | === Articles connexes === | ||
+ | <div class="inline"> | ||
* [[logiciels|Logiciels au DMS]] | * [[logiciels|Logiciels au DMS]] | ||
− | |||
* [[GNU_Octave|GNU Octave]] | * [[GNU_Octave|GNU Octave]] | ||
* [[Magma|Magma]] | * [[Magma|Magma]] | ||
Ligne 40 : | Ligne 123 : | ||
* [[Sage|Sage]] | * [[Sage|Sage]] | ||
* [[Scilab|Scilab]] | * [[Scilab|Scilab]] | ||
− | * [[ | + | * [[CUDA|CUDA]] |
+ | * [[GPUmat|GPUmat]] | ||
+ | </div> | ||
− | === | + | === Références externes === |
+ | <div class="inline"> | ||
* [http://www.mathworks.com/products/matlab/ Site officiel de Matlab] | * [http://www.mathworks.com/products/matlab/ Site officiel de Matlab] | ||
− | * [http://fr.wikipedia.org/wiki/Matlab | + | * [http://fr.wikipedia.org/wiki/Matlab Matlab sur Wikipédia] |
+ | * [http://code.google.com/p/yagtom/ Tutoriel de Matlab par Matt Dunham et Kevin Murphy] | ||
+ | </div> |
Version actuelle datée du 5 septembre 2021 à 15:30
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.
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 (version standalone) 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 départementale.
- Un email d'activation vous sera envoyé afin de pouvoir vous connecter avec votre compte personnalisé sur le site de Mathworks.
- Une fois connecté vous devrez cliquer sur le bouton 'Download installer'.
- Cliquer sur le bouton 'Download R20...'.
- 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.
Pour obtenir la clé d'activation de Matlab, utilisez votre adresse @dms.umontreal.ca ou @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 message.out &
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 message.out &
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. Vous pouvez exécuter votre code en parallèle par le processeur de la carte graphique (GPU).
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 :