Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
matlab [Le 23/06/2012, 14:35] – [Matlab r2007a 32bits sur ubuntu 64bits] 90.61.26.135 | matlab [Le 13/10/2020, 07:16] (Version actuelle) – [Installation système de la version Unix] bruno | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== Matlab : logiciel de calcul scientifique ====== | ||
+ | |||
+ | Matlab est un [[http:// | ||
+ | |||
+ | De nombreuses alternatives libres et de qualité existent (permettant même parfois d' | ||
+ | |||
+ | Matlab fournit désormais son propre environnement d' | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Il existe plusieurs possibilités selon la version de Matlab que vous possédez et vos droits sur le système d' | ||
+ | |||
+ | ==== Installation système de la version Unix ==== | ||
+ | |||
+ | * Insérer le DVD ou monter l' | ||
+ | {{: | ||
+ | * Ouvrir un terminal et se placer dans le répertoire d' | ||
+ | < | ||
+ | cd CheminRepertoireMatlab/ | ||
+ | </ | ||
+ | * Se connecter en tant que superutilisateur. | ||
+ | < | ||
+ | sudo -i | ||
+ | </ | ||
+ | * Exécuter le script **install**. | ||
+ | < | ||
+ | ./install | ||
+ | </ | ||
+ | * Suivre les différentes étapes de l' | ||
+ | {{: | ||
+ | * Installer le paquet **[[apt> | ||
+ | {{: | ||
+ | {{: | ||
+ | {{: | ||
+ | * Lancer Matlab en tant qu' | ||
+ | < | ||
+ | sudo matlab | ||
+ | </ | ||
+ | |||
+ | ==== Installation utilisateur de la version Unix ==== | ||
+ | |||
+ | Mêmes étapes que pour l' | ||
+ | |||
+ | ==== Installation de la version Windows | ||
+ | |||
+ | Si vous disposez uniquement de la version Windows de Matlab et ne souhaitez pas acquérir une licence Unix en plus, deux solutions s' | ||
+ | - installer Matlab dans une machine virtuelle Windows (des logiciels comme [[gnome-boxes| GNOME Boxes]] ou [[virtualbox|VirtualBox]] rendent l' | ||
+ | - installer Matlab à l'aide de Wine, bien que certaines versions semblent ne pas fonctionner d' | ||
+ | |||
+ | ===== Utilisation ===== | ||
+ | |||
+ | Si vous avez installé le paquet **[[apt> | ||
+ | Sinon tapez la commande '' | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | Pour configurer Matlab, aller dans le menu //File > Preferences...// | ||
+ | |||
+ | ==== Raccourcis clavier Ctrl+c Ctrl+v ==== | ||
+ | |||
+ | Par défaut dans la version Unix, Ctrl+c et Ctrl+v ne sont plus des raccourcis clavier pour le copier-coller. Si ce comportement vous dérange : | ||
+ | * Ouvrir le menu de configuration. | ||
+ | * Aller dans le menu //Keyboard > Shortcuts// | ||
+ | * Sélectionner //Windows Default Set// dans le menu déroulant //Active setting// | ||
+ | |||
+ | ===== Désinstallation ===== | ||
+ | |||
+ | * Désinstaller le paquet '' | ||
+ | * Puis suivre les indications donnés sur cette page : [[http:// | ||
+ | |||
+ | ===== Problèmes courants ===== | ||
+ | |||
+ | ==== Menus inutilisables sous Gnome Shell ==== | ||
+ | |||
+ | Lorsqu' | ||
+ | |||
+ | Test Janvier 2020 : ce problème ne semble plus d' | ||
+ | |||
+ | Cependant, si vous avez une vieille version et que vous constatez le problème, une solution consiste à translater la fenêtre dans le coin en haut à gauche de l' | ||
+ | |||
+ | Il est possible de résoudre ce problème en maximisant automatiquement Matlab au démarrage grâce à [[gdevilspie]] comme le décrit [[|https:// | ||
+ | * Installer le paquet **[[apt> | ||
+ | * Cliquer sur //Ajouter// pour créer une nouvelle règle. | ||
+ | * Dans l' | ||
+ | {{:: | ||
+ | * Dans l' | ||
+ | {{:: | ||
+ | * Cocher //Start devilspie automatically at login//, démarrer le daemon et fermer. | ||
+ | {{:: | ||
+ | | ||
+ | Il subsistera des problèmes avec les fenêtres de l'aide ou de l' | ||
+ | |||
+ | ==== Matlab r2007a 32bits sur ubuntu 64bits ==== | ||
+ | |||
+ | Commencez par installer ia32-libs depuis synaptic si vous etes en 64 et que vous installez la version etudiante (ou non-etudiante en fait). | ||
+ | |||
+ | < | ||
+ | |||
+ | On commence par remonter correctement notre dvd et on crée le répertoire où sera installé matlab | ||
+ | < | ||
+ | sudo umount / | ||
+ | sudo mount -t iso9660 /dev/cdrom / | ||
+ | sudo mkdir / | ||
+ | cd / | ||
+ | sudo sh / | ||
+ | </ | ||
+ | Normalement tout c'est passé correctement jusqu' | ||
+ | |||
+ | Il est aussi possible de devoir lancer matlab en console avec l' | ||
+ | < | ||
+ | sudo sh / | ||
+ | </ | ||
+ | |||
+ | A ce moment, on recoit un message d' | ||
+ | < | ||
+ | cd / | ||
+ | sudo ln -s glnx86 glnxa64 | ||
+ | cd / | ||
+ | sudo ln -s glnx86 glnxa64 | ||
+ | cd / | ||
+ | sudo ln -s glnx86 glnxa64 | ||
+ | </ | ||
+ | |||
+ | On termine l' | ||
+ | Pour valider notre version, on lance matlab en root. | ||
+ | |||
+ | Il ne reste plus qu'a lancer matlab avec la commande < | ||
+ | |||
+ | j'ai du résoudre mes conflits avec compiz avec l' | ||
+ | |||
+ | ==== L' | ||
+ | |||
+ | le lancement de l' | ||
+ | |||
+ | < | ||
+ | $ sudo / | ||
+ | ------------------------------------------------------------------- | ||
+ | |||
+ | An error status was returned by the program ' | ||
+ | the X Window System version of ' | ||
+ | messages were written to standard error: | ||
+ | |||
+ | / | ||
+ | |||
+ | Attempt to fix the problem and try again. If X is not available | ||
+ | or ' | ||
+ | version of ' | ||
+ | |||
+ | install* -t or INSTALL* -t | ||
+ | |||
+ | ------------------------------------------------------------------- | ||
+ | .: 15: Can't open / | ||
+ | </ | ||
+ | |||
+ | L' | ||
+ | |||
+ | < | ||
+ | $ sudo / | ||
+ | </ | ||
+ | |||
+ | (crédits : http:// | ||
+ | |||
+ | ==== Erreur compilation | ||
+ | |||
+ | Si à la compilation mex ce message apparaît "/ | ||
+ | |||
+ | Si un message apparait du type version: | ||
+ | |||
+ | i) **télécharger le compilateur gcc 4.4** : | ||
+ | |||
+ | sudo apt-get install gcc-4.4 g++-4.4 gfortran-4.4 | ||
+ | |||
+ | ii) ** ouvrez le fichier ~/ | ||
+ | votre version de matlab (R2011a ou b, R2010a ou b, R2008a ou b etc.) | ||
+ | |||
+ | sudo gedit ~/ | ||
+ | |||
+ | iii) ** choisissez votre machine et votre type d' | ||
+ | bits) : par exemple sous 32 bits glnx86), sous 64 bits glnxa64) etc. | ||
+ | |||
+ | iv) ** remplacer CC=' | ||
+ | 4.4' et FC=' | ||
+ | |||
+ | ==== Erreur de bibliothèque | ||
+ | |||
+ | Là encore la solution | ||
+ | sous 32 ou 64-bits: | ||
+ | |||
+ | oscheck.sh: 605: / | ||
+ | |||
+ | oscheck.sh: 605: / | ||
+ | |||
+ | matlab/ | ||
+ | |||
+ | matlab/ | ||
+ | |||
+ | / | ||
+ | |||
+ | oscheck.sh: 619: / | ||
+ | |||
+ | bin/ | ||
+ | |||
+ | **Solution simple** : | ||
+ | |||
+ | **Pour résoudre ce problème sous linux 64-bit**: | ||
+ | |||
+ | sudo ln -s / | ||
+ | / | ||
+ | |||
+ | **sous linux 32-bit**: | ||
+ | |||
+ | sudo ln -s / | ||
+ | |||
+ | < | ||
+ | Sous [[: | ||
+ | |||
+ | **64-bit :** | ||
+ | sudo ln -s / | ||
+ | **32-bit :** | ||
+ | sudo ln -s / | ||
+ | </ | ||
+ | |||
+ | ==== Message de warning dans la fenêtre de commande ==== | ||
+ | |||
+ | Pour éliminer le message "the desktop configuration was not saved | ||
+ | successfully" | ||
+ | sudo chmod a+w -R / | ||
+ | sudo chown -R votrelogin: | ||
+ | |||
+ | === OpenGL et Matlab === | ||
+ | |||
+ | Si OpenGL vous cause des soucis faire des rendus de surface dans le mauvais sens, ou que vous obtenez des messages d' | ||
+ | Commencez par lancer Matlab. Une fois que la console est prête, cherchez lez informations sur OpenGL : | ||
+ | < | ||
+ | >> opengl info | ||
+ | |||
+ | Version | ||
+ | Vendor | ||
+ | Renderer | ||
+ | MaxTextureSize = 4096 | ||
+ | Extensions | ||
+ | </ | ||
+ | Les résultats dépendent évidemment de votre machine, mais la partie importante est la partie " | ||
+ | Si les pilotes ne sont pas responsables, | ||
+ | < | ||
+ | ldd / | ||
+ | </ | ||
+ | (remplacez par l' | ||
+ | |||
+ | Vous saurez alors si les différentes librairies openGL sont là où elles sont sensée être. Voici un exemple de configuration correcte. | ||
+ | < | ||
+ | $ldd / | ||
+ | libmx.so => not found | ||
+ | libut.so => not found | ||
+ | libmwudd.so => not found | ||
+ | libmwservices.so => not found | ||
+ | libGL.so => / | ||
+ | libGLU.so => / | ||
+ | libXext.so.6 => / | ||
+ | libXp.so.6 => / | ||
+ | libXt.so.6 => / | ||
+ | libX11.so.6 => / | ||
+ | libc.so.6 => / | ||
+ | libGLcore.so.1 => / | ||
+ | libnvidia-tls.so.1 => / | ||
+ | libm.so.6 => / | ||
+ | libdl.so.2 => / | ||
+ | libstdc++.so.5 => / | ||
+ | libgcc_s.so.1 => / | ||
+ | libSM.so.6 => / | ||
+ | libICE.so.6 => / | ||
+ | / | ||
+ | </ | ||
+ | S'il vous manque une librairie importante sur cette liste, mais qu' | ||
+ | Imaginons que vous obtenez libGL.so => not found. | ||
+ | On se place d' | ||
+ | < | ||
+ | cd / | ||
+ | </ | ||
+ | Vous allez ensuite vérifier si le paquet libGL.so est installé : | ||
+ | < | ||
+ | dpkg -s libGL.so | ||
+ | </ | ||
+ | S'il l'est, vous créez le lien symbolique : | ||
+ | < | ||
+ | ln -s / | ||
+ | </ | ||
+ | S'il n'est pas installé, et bien... installez-le ! | ||
+ | |||
+ | Les risques d' | ||
+ | |||
+ | Si ça marche à peu près, mais que ce n'est pas encore parfait, c'est probablement Matlab qui n' | ||
+ | < | ||
+ | hf=figure; | ||
+ | set(hf,' | ||
+ | get(hf,' | ||
+ | </ | ||
+ | Vous obtiendrez une chaîne, ressemblant à "** 0x21 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)** ". | ||
+ | Tapez maintenant : | ||
+ | < | ||
+ | glxinfo | grep 0x21 | awk ' | ||
+ | </ | ||
+ | Il doit vous répondre 24 (comme dans la partie depth de la réponse profondeur). Si vous obtenez 0, il faut trouver un autre Xvisual. Le meilleur moyen est de jongler avec glxinfo. | ||
+ | < | ||
+ | glxinfo | grep tc | grep y | ||
+ | </ | ||
+ | Vous obtenez alors une liste de Xvisual. | ||
+ | < | ||
+ | 0x21 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 0 0 None | ||
+ | 0x23 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 0 0 None | ||
+ | 0x26 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 0 0 None | ||
+ | 0x27 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 0 0 None | ||
+ | 0x2a 24 tc 0 32 0 r y . 8 8 8 0 4 16 0 16 16 16 16 0 0 None | ||
+ | 0x2b 24 tc 0 32 0 r y . 8 8 8 8 4 16 0 16 16 16 16 0 0 None | ||
+ | 0x2e 24 tc 0 32 0 r y . 8 8 8 0 4 0 0 16 16 16 16 0 0 None | ||
+ | 0x2f 24 tc 0 32 0 r y . 8 8 8 8 4 0 0 16 16 16 16 0 0 None | ||
+ | 0x32 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 2 1 Ncon | ||
+ | 0x33 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 2 1 Ncon | ||
+ | 0x34 24 tc 0 32 0 r y . 8 8 8 0 4 24 0 16 16 16 16 4 1 Ncon | ||
+ | 0x35 24 tc 0 32 0 r y . 8 8 8 8 4 24 0 16 16 16 16 4 1 Ncon | ||
+ | 0x3a 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 2 1 Ncon | ||
+ | 0x3b 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 2 1 Ncon | ||
+ | 0x3c 24 tc 0 32 0 r y . 8 8 8 0 4 24 8 16 16 16 16 4 1 Ncon | ||
+ | 0x3d 24 tc 0 32 0 r y . 8 8 8 8 4 24 8 16 16 16 16 4 1 Ncon | ||
+ | 0x42 24 tc 0 32 0 r y . 8 8 8 0 4 16 0 16 16 16 16 2 1 Ncon | ||
+ | 0x43 24 tc 0 32 0 r y . 8 8 8 8 4 16 0 16 16 16 16 2 1 Ncon | ||
+ | 0x44 24 tc 0 32 0 r y . 8 8 8 0 4 16 0 16 16 16 16 4 1 Ncon | ||
+ | 0x45 24 tc 0 32 0 r y . 8 8 8 8 4 16 0 16 16 16 16 4 1 Ncon | ||
+ | </ | ||
+ | Vous en choisissez un qui ne soit pas marqué //Slow// sur la dernière colonne, et qui ait 24 sur la 15ème colonne. Choisissons par exemple //0x26//. | ||
+ | On va le définir comme Xvisual. Tapez | ||
+ | < | ||
+ | set(0,' | ||
+ | </ | ||
+ | et rentrez cette ligne dans le fichier startup.m. Vous devriez maintenant avoir des jolis graphes openGL ! | ||
+ | |||
+ | Si matlab vous dit " | ||
+ | export LD_LIBRARY_PATH=/ | ||
+ | </ | ||
+ | (soit dans votre .bashrc, soit dans un lanceur avec exec=/ | ||
+ | |||
+ | === uigetfile === | ||
+ | |||
+ | **uigetfile** : Affiche la boîte de dialogue standard pour la récupération de fichiers. | ||
+ | |||
+ | Exemple : | ||
+ | [FileName, | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | Si cette fonction ne retourne rien, et retourne une erreur "File does not exist" dans un popup. La solution ([[http:// | ||
+ | setappdata(0,' | ||
+ | |||
+ | La boîte de dialogue est alors remplacé par une autre fonctionnelle.\\ | ||
+ | {{: | ||
+ | |||
+ | === Utiliser Compiz === | ||
+ | |||
+ | == Ancienne méthode : == | ||
+ | |||
+ | |||
+ | Il se peut qu'il manque des morceaux à la fenêtre de Matlab si on utilise Compiz en même temps. Le problème peut être résolu en ajoutant une ligne dans le script de lancement. | ||
+ | |||
+ | Éditez-le: | ||
+ | |||
+ | gedit ~/ | ||
+ | |||
+ | (en adaptant le chemin en fonction de votre répertoire d' | ||
+ | |||
+ | < | ||
+ | export AWT_TOOLKIT=MToolkit | ||
+ | </ | ||
+ | |||
+ | dans la section «Export the variables», | ||
+ | |||
+ | S'il manque vraiment beaucoup de morceaux au desktop de matlab, et s'ils ne reviennent toujours pas avec la manip précédente, | ||
+ | |||
+ | < | ||
+ | metacity --replace | ||
+ | </ | ||
+ | |||
+ | et relancez matlab. Si cette solution provisoire devenait définitive: | ||
+ | |||
+ | == Nouvelle méthode : == | ||
+ | |||
+ | Trouvez où vous avez installé matlab (personnellement dans mon répertoire principal) | ||
+ | en faisant donc | ||
+ | < | ||
+ | puis juste après | ||
+ | < | ||
+ | ajoutez | ||
+ | < | ||
+ | Sauvez, ça marche :-) | ||
+ | |||
+ | <note important> | ||
+ | </ | ||
+ | |||
+ | === Créer un raccourci sur le bureau ou dans le menu principal === | ||
+ | |||
+ | Inspiré de la doc de ubuntu.com. | ||
+ | |||
+ | Récupérer l' | ||
+ | < | ||
+ | sudo wget http:// | ||
+ | </ | ||
+ | |||
+ | Modifier le fichier / | ||
+ | < | ||
+ | fr_FR ISO-8859-1 | ||
+ | </ | ||
+ | |||
+ | Rentrer ça dans la ligne de commande pour régénérer les " | ||
+ | < | ||
+ | sudo locale-gen --purge | ||
+ | </ | ||
+ | |||
+ | Créer le fichier / | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | [Desktop Entry] | ||
+ | Type=Application | ||
+ | Icon=/ | ||
+ | Name=MATLAB | ||
+ | Comment=Start MATLAB - The Language of Technical Computing | ||
+ | Exec=env LANG=fr_FR.iso-8859-1 LANGUAGE=fr_FR.iso-8859-1 matlab -desktop | ||
+ | Categories=Development; | ||
+ | </ | ||
+ | Note : Il permet de résoudre les problèmes d' | ||
+ | < | ||
+ | figure; | ||
+ | </ | ||
+ | |||
+ | |||
+ | === cellfun.mexglx manquant (et autres fichiers) === | ||
+ | |||
+ | Si vous installez Matlab (version 7.0.1.24704 (R14) Service Pack 1) sur une machine de type x86 avec Ubuntu (Breezy 5.10), il peut exister des problèmes avec les permissions des fichiers / | ||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | |||
+ | Le fichier **[matlab_dir]/ | ||
+ | < | ||
+ | >> ls | ||
+ | ??? Attempt to execute SCRIPT cellfun as a function. | ||
+ | Error in ==> iscellstr at 13 | ||
+ | res = cellfun(' | ||
+ | Error in ==> ls at 16 | ||
+ | if iscellstr(varargin) | ||
+ | </ | ||
+ | |||
+ | Une façon de résoudre ce problème serait de modifier deux lignes dans le script [cd_matlab]/ | ||
+ | |||
+ | Dans **install**, | ||
+ | < | ||
+ | ver=`strings / | ||
+ | </ | ||
+ | |||
+ | et dans oscheck.sh, ligne 134 : | ||
+ | < | ||
+ | ver=`/ | ||
+ | </ | ||
+ | |||
+ | doivent être remplacées par : | ||
+ | < | ||
+ | ver=`strings / | ||
+ | </ | ||
+ | |||
+ | Pour pouvoir éditer le fichier d' | ||
+ | |||
+ | Vous pouvez trouver une explication plus détaillée | ||
+ | |||
+ | |||
+ | === Les outils symboliques ne fonctionnent pas === | ||
+ | |||
+ | Pour savoir si vous êtes concernés par ce problème : | ||
+ | * Lancez Matlab et regardez dans la boite d' | ||
+ | ou | ||
+ | * tapez la commande vpa(64,pi). Si vous obtenez le message d' | ||
+ | < | ||
+ | Unable to load mex file: / | ||
+ | / | ||
+ | ??? Invalid MEX-file | ||
+ | </ | ||
+ | c'est que vous souffrez du tristement célèbre bug NPTL. | ||
+ | |||
+ | Tout d' | ||
+ | < | ||
+ | sudo gedit 'which Matlab' | ||
+ | </ | ||
+ | Allez ensuite à la première ligne non commentée (sans devant, dans les 136), et ajoutez la ligne export LD_ASSUME_KERNEL=2.4.1 | ||
+ | < | ||
+ | __________________________________________________________________________ | ||
+ | # | ||
+ | export LD_ASSUME_KERNEL=2.4.1 | ||
+ | arg0_=$0 | ||
+ | # | ||
+ | # Temporary file that hold MATLABPATH code from .matlab6rc.sh file. | ||
+ | # | ||
+ | temp_file=/ | ||
+ | # | ||
+ | trap "rm -f $temp_file; exit 1" 1 2 3 | ||
+ | </ | ||
+ | Sauvez et fermez l' | ||
+ | |||
+ | ===== Liens ===== | ||
+ | |||
+ | *Wiki anglais: [[https:// | ||
+ | *[[calcul_numerique]] | ||
+ | *[[logiciels_pour_le_lycee]] | ||
+ | |||
+ | ---- | ||
+ | // |