Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
matlab [Le 10/11/2010, 09:51]
sigo
matlab [Le 24/09/2022, 19:54] (Version actuelle)
Amiralgaby correction orthographique et conjugaison grâce à wiki-corrector
Ligne 1: Ligne 1:
-{{tag>Hardy Jaunty Karmic ​éducation logiciels_pour_le_lycée calcul_numérique}}+{{tag>Xenial ​éducation logiciels_pour_le_lycée calcul_numérique}}
  
 ---- ----
Ligne 5: Ligne 5:
 ====== Matlab : logiciel de calcul scientifique ====== ====== Matlab : logiciel de calcul scientifique ======
  
-Matlab est un logiciel de calcul matriciel développé par Mathworks Inc. C'est un outil puissant pour le calcul numérique.  +Matlab est un [[https://fr.wikipedia.org/wiki/Logiciel_propri%C3%A9taire|logiciel propriétaire]] de calcul matriciel et numérique développé par Mathworks IncIl fonctionne sous Windows, Mac et Unix. Les versions Unix supportent officiellement certaines versions d'​Ubuntu.
-Il existe une [[http://www.mathworks.fr/products/matlab/​index.html|version Linux de Matlab, mais elle est payante...]]. Heureusement il existe deux équivalents libres : [[Scilab]] ​et [[Octave]].+
  
-Fonctionne bien sur les versions récentes ​d'Ubuntuy compris ​avec OpenGL. +De nombreuses alternatives libres et de qualité existent (permettant même parfois ​d'exécuter du code Matlab), et notamment les logiciels : [[Scilab]], [[Octave]][[R]] ou [[Python]] ​avec le package **Scipy** (incluant Numpy).
-Voici des méthodes pour installer MATLAB sous Ubuntu+
  
-===== Installation de Matlab ​sur Ubuntu =====+Matlab ​fournit désormais son propre environnement d'​exécution Java et fonctionne correctement dans sa version Unix.
  
-==== Matlab r2008a-2009b ​====+===== Installation =====
  
-Sous Ubuntu Jaunty, Hardy et Karmic, ​installation ​directesans prérequis.+Il existe plusieurs possibilités selon la version de Matlab que vous possédez ​et vos droits sur le système d'installation. Préférez l'​installation système si vous possédez une version Unix de Matlabvous avez les droits administrateur et assez d'​espace libre sur la partition racine /////.
  
-  - On monte le DVD ou l'​image ISO avec [[gmount-iso]] +==== Installation système de la version Unix ====
-  - On lance le script **install** dans la racine du DVD (un double clic suffit) +
-  - On se débrouille (type d'​installation,​ licence...) en suivant les étapes. +
-  - On lance Matlab en console+
  
-Matlab n'a besoin d'​aucun autre package, il s'​installe ​avec ses propres pilotes pour la vidéo, et son Java intégré. +  * Insérer le DVD ou monter l'image ISO avec [[furiusisomount]]. 
-Il est tout de même preférable d'​installer le pilote adéquate pour votre carte vidéo. +{{:matlab_quantal_furiusisomount.png?​direct&​400|}} 
-Pour créer des fonctions précompilées,​ il est preférable d'​installer ​[[gcc|gcc]].  +  * Ouvrir un terminal ​et se placer ​dans le répertoire d'​installation.
- +
-<note tip>Pour ne pas passer par la console il faut utiliser la commande //matlab -desktop//</​note>​ +
- +
-==== Matlab r2007a ==== +
- +
-<note tip>Notece test a été fait sous Kubuntu Feisty</​note>​ +
- +
-=== Prérequis === +
- +
-Vous n'avez besoin de presque rien pour utiliser MatlabIl peut très bien fonctionner sans serveur X, mais il manquera alors certaines fonctions, comme les graphes.  +
- +
-La plupart des utilisateurs préfèrent cependant utiliser Matlab en mode graphique.Il faudra alors : +
- +
-  * Java installé, ​et l'​éxécutable ​dans le path +
-  * une carte graphique, avec les pilotes corrects installés, pour les graphes plus complexes +
- +
-Pour vérifier le path, il suffit de taper dans un terminal : +
 <​code>​ <​code>​
-which java+cd CheminRepertoireMatlab/​
 </​code>​ </​code>​
-Si la réponse est du genre :+  * Se connecter en tant que superutilisateur.
 <​code>​ <​code>​
-usr/​bin/​java+sudo -i
 </​code>​ </​code>​
-vous ne devriez pas avoir de problèmeSinon, voici comment faire : [[http://​wiki.ubuntu-fr.org/​applications/​java?​s=java|HOWTO Java]] ou [[Java]] +  * Exécuter le script **install**.
- +
-Pour la carte graphique, tapez dans un terminal :+
 <​code>​ <​code>​
-grep Driver ​/etc/​X11/​xorg.conf+./install
 </​code>​ </​code>​
-Si vous obtenez comme réponse une ligne qui vous dit : +  ​Suivre les différentes étapes ​de l'installation en choisissant pour répertoire ​de destination ///usr/local/MATLAB/**R2012a**/// en remplaçant //​**R2012a**//​ par votre version.\\ 
-  ​fglrx ou nvidia, alors pas de problème +{{:​matlab_quantal_systeminstall.png?​direct&​400|}} 
-  * nv, ati ou radeon, il vous faut alors installer les pilotes +  * Installer le paquet **[[apt>​matlab-support]]** (afin entre autres d'intégrer ​Matlab ​dans les menus), puis répondez aux questions
-  * vesa, i810 ou autre chose, vous serez limités dans l'utilisation du logiciel. +{{:​matlab_quantal_maltabsupport01.png?​direct&​400|}}\\ 
- +{{:​matlab_quantal_maltabsupport02.png?​direct&​400|}}\\ 
-Vous devez copier votre fichier ​de license (license.dat) dans le répertoire racine (root directory) **/usr/local/matlab** que vous aurez créé au préalable avant de démarrer l'​installation.  +{{:matlab_quantal_maltabsupport03.png?​direct&​400|}} 
- +  * Lancer Matlab en tant qu'​administrateur pour enregistrer votre version.
- +
-=== Installation === +
- +
- +
-L'installation de Matlab ​n'est pas possible directement à partir du CD ROM monté. Ceci n'est pas du aux paramètres par défaut lors du montage (-noexec), mais à une raison mystérieuse et encore incomprise de nos jours ! Il existe deux solutions à ce problème+
- +
-La première consiste à copier le disque sur votre disque dur, pour ensuite lancer l'​installation+
-Pour copier le contenu du disque, tapez dans un terminal ​:+
 <​code>​ <​code>​
-sudo cp -R /​media/​cdrom0 /tmp/matlab+sudo matlab
 </​code>​ </​code>​
-Une fois la copie terminée, tapez : 
-<​code>​ 
-sudo sh /​tmp/​matlab/​install 
-</​code>​ 
-ou  
-<​code>​ 
-sudo sh /​tmp/​matlab/​install_unix.sh (selon les versions) 
-</​code>​ 
-ce qui lancera l'​installeur GUI. 
  
-La deuxième solution consiste à passer en root (commande su), démonter le lecteur CD (à l'​aide ​de la commande umount) puis de le remonter à l'aide de la commande : +==== Installation utilisateur ​de la version Unix ====
-<​code>​ +
-mount -o exec /​media/​cdrom0 +
-</​code>​ +
-__NB:__ il semblerait que cette dernière commande ne passe pas en étant simplement en sudo.+
  
-Vous pouvez ensuite lancer le script d'install (toujours ​en root).+Mêmes étapes que pour l'installation système mais sans se connecter ​en tant qu'​administrateur et en choisissant un repertoire d'​installation situé dans votre répertoire personnel, par exemple ​ : //​~/​Logiciels/​Matlab///​
  
-Une fois l'​installateur démarré (avec l'une ou l'​autre des méthodes décrites ci-dessus), comme répertoire racine (root directory), entrez **/​usr/​local/​matlab** (déjà créé précédemment). +==== Installation ​de la version Windows ​ ====
-Ensuite suivez les instructions d'​installation classiques... +
-Une fois l'​installation terminée, vous devez lancer un script ​de finalisation de l'​installation:​ +
-<​code>​sudo /​usr/​local/​matlab/​install_matlab</​code>​ +
-Acceptez tout ce qui vient ensuite et gardez les paramètres par défaut sauf si vous savez ce que vous faites.+
  
-Une fois installé, vous pouvez taper +Si vous disposez uniquement de la version Windows de Matlab et ne souhaitez pas acquérir une licence Unix en plusdeux solutions s'​offrent à vous : 
-<​code>​ +  - installer Matlab ​dans une machine virtuelle Windows (des logiciels comme [[gnome-boxes| GNOME Boxes]] ou [[virtualbox|VirtualBox]] rendent l'​opération assez aisée) ; 
-matlab +  - installer ​Matlab ​à l'aide de Wine, bien que certaines versions semblent ne pas fonctionner d'​après [[https://​appdb.winehq.org/​objectManager.php?​sClass=application&​iId=49|cette page]].
-</​code>​ +
-dans un terminal ce qui vous permettra de lancer ​Matlab ​UI.+
  
-A noter que vous pouvez passer des options au démarrage de Matlab. Parmi les plus importantes,​ citons : +===== Utilisation =====
-<​code>​ +
--nodesktop ​            ​Démarre Matlab dans une console, sans le GUI. Chargement beaucoup plus rapide +
--nosplash ​             Pas de fenêtre d'​accueil au démarrage +
--nojvm ​                Ne démarre pas le support Java. Ceci implique -nodesktop +
--r "​commande" ​         Démarre Matlab en éxécutant "​commande"​ +
--h                     Pour voir d'​autres options +
-</​code>​+
  
 +Si vous avez installé le paquet **[[apt>​matlab-support]]**,​ vous pouvez lancer Matlab comme n'​importe quel autre logiciel (menu, dash, etc...).
 +Sinon tapez la commande ''​matlab''​ dans une console.
  
-==== Emulation de la version Matlab sous Windows ​====+===== Configuration =====
  
-Si vous avez la version Windows de Matlab, ​il se peut que vous n'ayez pas envie d'​acheter la version Unix∕Linux en plusVous n'​êtes pas condamné au dual-boot : vous pouvez aussi l'​émuler.+Pour configurer ​Matlab, ​aller dans le menu //File > Preferences...//
  
-== Avec VirtualBox et VMware ​==+==== Raccourcis clavier Ctrl+c Ctrl+v ====
  
-Testé sous Ubuntu Hardyfonctionne très bien. Un peu plus lent bien sûr.+Par défaut dans la version UnixCtrl+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//.
  
-== Avec Wine ==+===== Désinstallation =====
  
-/FIXME+  * Désinstaller le paquet ''​matlab-support''​. 
 +  * Puis suivre les indications données sur cette page : [[http://​www.mathworks.fr/​support/​solutions/​en/​data/​1-17VR3/​index.html?​solution=1-17VR3]]
  
-L'​installation se lance sans soucis mais à l'​execution il manque des DLLs.+===== Problèmes courants =====
  
-==== Problème SSE 2 manquant ​====+==== Menus inutilisables sous Gnome Shell ====
  
-<​code>​ +Lorsqu'​une fenêtre de Matlab est maximisée, il devient impossible d'​accéder aux menus. Il semble que Matlab n'​arrivent à récupérer correctement les coordonnées de la fenêtre et donc des menus depuis Mutter. 
-Error: Your computer processor is missing the SSE2 instructions that + 
-       are required for MATLAB to run correctly. +Test janvier 2020 ce problème ne semble plus d'​actualité,​ en tout cas je ne constate pas ce problème d'​accès au menu avec la dernière version stable de Matlab (2019B) et la dernière version stable de Gnome (3.34), version inclus notamment dans Ubuntu 19.10.
-       For system requirements consult http://www.mathworks.com ... +
-</​code>​+
  
 +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'​écran,​ puis de la redimensionner,​ et enfin de la déplacer éventuellement.
  
 +Il est possible de résoudre ce problème en maximisant automatiquement Matlab au démarrage grâce à [[gdevilspie]] comme le décrit [[|https://​bbs.archlinux.org/​viewtopic.php?​id=118340|cette page]] :
 +  * Installer le paquet **[[apt>​gdevilspie]]**.
 +  * Cliquer sur //Ajouter// pour créer une nouvelle règle.
 +  * Dans l'​onglet //​Matching//,​ sélectionner //​application_name//​ et écrire "​MATLAB"​ dans le champ //​contain(s).//​\\
 +  {{::​matlab_quantal_muttermenuproblem01.png?​direct&​300|}}
 +  * Dans l'​onglet //​Actions//,​ cocher //​maximize//,​ appeller la règle "​MATLAB"​ par exemple puis enregistrer.\\
 +  {{::​matlab_quantal_muttermenuproblem02.png?​direct&​300|}}
 +  * Cocher //Start devilspie automatically at login//, démarrer le daemon et fermer.
 +  {{::​matlab_quantal_muttermenuproblem03.png?​direct&​300|}}
 +  ​
 +Il subsistera des problèmes avec les fenêtres de l'aide ou de l'​éditeur,​ donc redimensionner vos fenêtres avec précaution.
  
 ==== Matlab r2007a 32bits sur ubuntu 64bits ==== ==== Matlab r2007a 32bits sur ubuntu 64bits ====
  
-<​note>​Méthode testée sur ubuntu 9.10 pour matlab 2007 student version en suivant grossièrement ce [[http://​ubuntuforums.org/​showthread.php?​t=90895&​highlight=libXp.so.6&​page=3|forum]] </​note>​+Commencez par installer ia32-libs depuis synaptic si vous etes en 64 et que vous installez la version etudiante (ou non-etudiante en fait). 
 + 
 +<​note>​Méthode testée sur ubuntu 9.10 pour matlab 2007 student version en suivant grossièrement ce [[https://​ubuntuforums.org/​showthread.php?​t=90895&​highlight=libXp.so.6&​page=3|forum]] </​note>​
  
 On commence par remonter correctement notre dvd et on crée le répertoire où sera installé matlab On commence par remonter correctement notre dvd et on crée le répertoire où sera installé matlab
Ligne 149: Ligne 109:
 sudo sh /​media/​cdrom/​install_unix.sh -glnx86 sudo sh /​media/​cdrom/​install_unix.sh -glnx86
 </​code>​ </​code>​
-Normalement tout c'est passé correctement jusqu'​à la fin de l'​installation. ​+Normalement tout c'est passé correctement jusqu'​à la fin de l'​installation.
  
 Il est aussi possible de devoir lancer matlab en console avec l'​option -t soit : Il est aussi possible de devoir lancer matlab en console avec l'​option -t soit :
Ligne 156: Ligne 116:
 </​code>​ </​code>​
  
-ce moment, on recoit un message d'​erreur comme quoi on est pas sur la bonne architecture. Il faut donc faire croire à Matlab qu'il est sur la bonne architecture+À ce moment, on recoit un message d'​erreur comme quoi on est pas sur la bonne architecture. Il faut donc faire croire à Matlab qu'il est sur la bonne architecture
 <​code>​ <​code>​
 cd /​opt/​matlab7/​bin cd /​opt/​matlab7/​bin
Ligne 171: Ligne 131:
 Il ne reste plus qu'a lancer matlab avec la commande <​code>​matlab -glnx86</​code>​ Il ne reste plus qu'a lancer matlab avec la commande <​code>​matlab -glnx86</​code>​
  
-j'​ai ​du résoudre mes conflits avec compiz avec l'​ancienne méthode. +j'​ai ​dû résoudre mes conflits avec compiz avec l'​ancienne méthode.
- +
-===== Les problèmes les plus courants ===== +
- +
-Voici quelques uns des problèmes rencontrés pendant l'​installation+
  
-=== L'​installeur ne démarre pas ===+==== L'​installeur ne démarre pas ====
  
-le lancement de l'​installation de la version 32 bit sur Ubuntu 9.04 64bit  provoque un message d'​erreur ressemblant à +le lancement de l'​installation de la version 32 bit sur Ubuntu 9.04 64bit  provoque un message d'​erreur ressemblant à
  
 <​code>​ <​code>​
Ligne 201: Ligne 157:
 </​code>​ </​code>​
  
-L'​installation se passe sans problème en ajoutant le paramètre nocp -nocp +L'​installation se passe sans problème en ajoutant le paramètre nocp -nocp
  
 <​code>​ <​code>​
Ligne 209: Ligne 165:
 (crédits : http://​ubuntu-virginia.ubuntuforums.org/​showthread.php?​t=186568&​page=2 ) (crédits : http://​ubuntu-virginia.ubuntuforums.org/​showthread.php?​t=186568&​page=2 )
  
-=== Erreur compilation ​ ===+==== Erreur compilation  ​avec MEX  suite à une mise à niveau ubuntu ====
  
 Si à la compilation mex ce message apparaît "/​usr/​bin/​ld:​ cannot find -lstdc++",​ il est certainement nécessaire de télécharger une nouvelle version du compilagteur gcc via le dépot (par exemple gcc-4-x-multilib). Ensuite il n'y aura que des "​warnings"​ à la compilation. Si à la compilation mex ce message apparaît "/​usr/​bin/​ld:​ cannot find -lstdc++",​ il est certainement nécessaire de télécharger une nouvelle version du compilagteur gcc via le dépot (par exemple gcc-4-x-multilib). Ensuite il n'y aura que des "​warnings"​ à la compilation.
  
-=== Message ​de warning dans la fenêtre de commande ===+Si un message apparait du type version: ​ "​`GLIBCXX_3.4.11'​ not found ", ** il y a une solution simple: il suffit ​de changer le compilateur **. Pour ce faire:
  
-Pour éliminer ​le message "the desktop configuration was not saved +i) **télécharger ​le compilateur gcc 4.4** :
-successfully"​ , il faut taper: +
-sudo chmod a+w -R /​usr/​local/​matlab , puis: +
-sudo chown -R votrelogin:​votrelogin ~/.matlab+
  
-=== Utiliser Compiz ===+sudo apt-get install gcc-4.4 g++-4.4 gfortran-4.4
  
-== Ancienne méthode : == +ii) ** ouvrez le fichier ~/​.matlab/​R20xxa/​mexopts.sh** en indiquant 
- +votre version de matlab (R2011a ou b, R2010a ou b, R2008a ou b etc.)
  
-Il se peut qu'il manque des morceaux à la fenêtre de Matlab si on utilise Compiz en même tempsLe problème peut être résolu en ajoutant une ligne dans le script de lancement.+sudo gedit ~/.matlab/​R20xxa/​mexopts.sh
  
-Éditez-le:+iii) ** choisissez votre machine et votre type d'​installation** (32 vs 64 
 +bits) par exemple sous 32 bits glnx86), sous 64 bits glnxa64) etc.
  
-  gedit ~/​bin/​Matlab/​bin/​matlab ​+iv) ** remplacer CC='​gcc'​ par CC='​gcc-4.4'​ ,​CXX='​g++'​ par CXX='​g++- 
 +4.4' et FC='​g95'​ par FC='​gfortran-4.4'​ **. v) Sauvez et relancer ​matlab. Cela marche !
  
-(en adaptant le chemin en fonction ​de votre répertoire d'​installation). Ensuite, ajoutez la ligne+==== Erreur ​de bibliothèque ​ suite à une mise à niveau ubuntu ====
  
-<​code>​ +Là encore la solution ​ est simple: MATLAB devrait vous retourner qu'il ne trouve pas la bibliothèque libc.so.6en référence avec oscheck.sh. Voici quelques variantes suivant que vous soyez 
-export AWT_TOOLKIT=MToolkit +sous 32 ou 64-bits:
-</​code>​+
  
-dans la section «Export the variables»,​ aux alentours de la ligne 1633.+oscheck.sh: 605: /​lib64/​libc.so.6:​ not found
  
-S'il manque vraiment beaucoup de morceaux au desktop de matlab, et s'ils ne reviennent toujours pas avec la manip précédente,​ (ceci pour R2007b et Gutsy), "​débranchez"​ Compiz:+oscheck.sh605: /​lib/​libc.so.6:​ not found
  
-<​code>​ +matlab/bin/​util/​oscheck.sh:​ 605: /​lib/​libc.so.6:​ not found
-metacity --replace +
-</code>+
  
-et relancez ​matlab. ​Si cette solution provisoire devenait définitive ​Système -> Préférences -> Apparence -> Effets Visuels",​ choisir "​Aucuns"​(Mais vous perdez au passage les beaux effets du gestionnaire de fenêtres) ​+matlab/​bin/​util/​oscheck.sh605: /lib64/libc.so.6: not found
  
-== Nouvelle méthode ​==+/​opt/​matlab/​bin/​util/​oscheck.sh605: /​lib/​libc.so.6:​ not found
  
-Trouvez où vous avez installé matlab (personnellement dans mon répertoire principal) +oscheck.sh: 619: /lib/libc.so.6: not found
-en faisant donc  +
-<​code>​ gedit LaOuVousAvezInstalléMATLAB/​bin/​matlab </​code> ​  +
-puis juste après  +
-<​code>#​!/​bin/​sh</​code>​  +
-ajoutez +
-<​code>​export MATLAB_JAVA=/​usr/lib/jvm/java-6-sun/​jre/</​code>​ +
-Sauvez, ça marche ​:-)+
  
-<note important>​Si la nouvelle méthode vous créé des ennuis avec l'​utilisation de la touche "alt gr" (impossibilité de l'​utiliser),​ utilisez l'​ancienne méthode. +bin/​util/​oscheck.sh: 619: /lib/​libc.so.6:​ not found
-</note>+
  
-=== Créer un raccourci sur le bureau ou dans le menu principal ===+**Solution simple** :
  
-Pour créer un raccourci vers matlab sur le bureau ou dans le menu principal (sans passer par la console), ne pas oublier de faire suivre la commande par '-desktop',​ sans quoi matlab lance uniquement la fenêtre de chargement et se coupe immédiatement après.+**Pour résoudre ce problème sous linux 64-bit**:
  
-<​code>​ +sudo ln -s /​lib64/​x86_64-linux-gnu/​libc-2.13.so 
-matlab ​-desktop +/lib64/​libc.so.6
-</code>+
  
-Pour plus d'​options de démarrage de matlab ​:+**sous linux 32-bit**:
  
-<​code>​ +sudo ln -/lib/​i386-linux-gnu/​libc-2.13.so /​lib/​libc.so.6
-matlab ​-+
-</code>+
  
-=== cellfun.mexglx manquant (et autres fichiers) ===+<​note>​ 
 +Sous [[:​precise|Ubuntu 12.04]] la bibliothèque a changé, il faut mettre ​
  
-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 /​etx/​lib.so.6,​ qui n'a pas par défaut les permissions d'​exécutiuon,​ et qui ne se comporte pas toujours comme prévu avec certains scripts. Quand certains scripts (fichiers d'​installation et de démarrage) veulent connaître la version de libc, ils n'​obtiennent pas de réponse. Ceci engendre la non-installation des fichiers mexglx requis, et au démarrage de Matlab, le script ​**[matlab_dir]/​bin/​util/​oscheck.sh** donne le rapport d'​erreur suivant ​: +**64-bit ​:** 
-<​code>​ +  ​sudo ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib64/​libc.so.6 ​ 
-/​opt/​matlab/​bin/​util/​oscheck.sh:​ line 134: /​lib/​libc.so.6:​ Permission denied +**32-bit :*
-</​code>​ +  sudo ln -s /lib/i386-linux-gnu/libc-2.15.so /lib/​libc.so.6 
- +</note>
- +
-Le fichier ​**[matlab_dir]/​toolbox/​matlab/​datatypes/​cellfun.mexglx** n'a pas été installé, et ceci peut poser des problèmes au moment d'​éxécuter une commande simple, comme ls, par exemple : +
-<​code>​ +
->> ls  +
-??? Attempt to execute SCRIPT cellfun as a function.  +
-Error in ==> iscellstr at 13 +
-  ​res = cellfun('​isclass',​s,'​char'​);​  +
-Error in ==> ls at 16  +
-if iscellstr(varargin) +
-</​code>​ +
- +
-Une façon de résoudre ce problème serait de modifier deux lignes dans le script [cd_matlab]/​install (à faire donc avant l'​installation) et dans  [matlab]/​bin/​util/​oscheck.sh (à faire après l'​installation). +
- +
-Dans **install**,​ ligne 697 : +
-<​code>​ +
-ver=`strings ​/lib/libc.so.6 | head -n 1 | sed -e "s/^[^0-9]*//" -e "s/[ ,].*$//"​` +
-</​code>​ +
- +
-et dans oscheck.sh, ligne 134 : +
-<​code>​ +
-ver=`/lib/​libc.so.6 ​| head -n 1 | sed -e "​s/​^[^0-9]*//" ​-e "s/[ ,​].*$//"​ +
-</​code>​ +
- +
-doivent être remplacées par : +
-<​code>​ +
-ver=`strings ​/lib/libc.so.6 | grep "GNU C Library"​ | sed -e "​s/​^[^0-9]*//" ​-e "s/[ ,].*$//"​` +
-</​code>​ +
- +
-Pour pouvoir éditer le fichier d'​installation,​ il faut avoir copié le CD sur le disque dur, comme décrit dans la section Installation +
- +
-Vous pouvez trouver une explication plus détaillée ​ [[http://www.cfar.umd.edu/​users/​aravinds/​tools.html#​install_matlab|ici]] (en anglais). Ceci peut expliquer d'​autres problèmes, avec d'​autres fichiers .mexglx manquants. +
- +
- +
-=== 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'​outils si il vous répond R13 +
-ou +
-  * tapez la commande vpa(64,pi). Si vous obtenez le message d'​erreur suivant :  +
-<​code>​ +
-Unable to load mex file: /​usr/​local/​matlab/​toolbox/​symbolic/​maplemex.mexglx. +
-/​usr/​local/​matlab/​bin/​glnx86/​libmaple.so:​ symbol errno, version GLIBC_2.0 not defined in file libc.so.6 ​with link time reference +
-??? Invalid MEX-file +
-</code> +
-c'est que vous souffrez du tristement célèbre bug NPTL. +
- +
-Tout d'​abord,​ ouvrez avec un éditeur de texte le script de lancement de Matlab. Vous pouvez taper par exemple :  +
-<​code>​ +
-sudo gedit 'which Matlab'​ +
-</​code>​ +
-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 ​ . Vous devriez obtenir quelque chose du genre :  +
-<​code>​ +
-__________________________________________________________________________ +
-+
-    export LD_ASSUME_KERNEL=2.4.1 +
-    arg0_=$0 +
-+
-# Temporary file that hold MATLABPATH code from .matlab6rc.sh file. +
-+
-    temp_file=/​tmp/​$$a +
-+
-    trap "rm -f $temp_file; exit 1" 1 2 3 +
-</​code>​ +
-Sauvez et fermez l'​éditeur. Pour vérifier le bon fonctionnement de la manoeuvre, dans Matlab, tapez getenv ('​LD_ASSUME_KERNEL'​) , s'il vous dit 2.4.1, vous avez résolu le problème !+
  
 +==== Message de warning dans la fenêtre de commande ====
  
 +Pour éliminer le message "the desktop configuration was not saved
 +successfully"​ , il faut taper:
 +sudo chmod a+w -R /​usr/​local/​matlab , puis:
 +sudo chown -R votrelogin:​votrelogin ~/.matlab
  
 === OpenGL et Matlab === === 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'​erreur du style //OpenGL not available, using ZBuffer//, et que vous utilisez une version plus ancienne que la R14SP2, vous allez avoir un peu de travail. La source de toute la réflexion de cette partie vient de [[http://​www.mathworks.com/​support/​solutions/​data/​1-18N21.html?​solution=1-18N21|The MathWorks]]. Si OpenGL vous cause des soucis faire des rendus de surface dans le mauvais sens, ou que vous obtenez des messages d'​erreur du style //OpenGL not available, using ZBuffer//, et que vous utilisez une version plus ancienne que la R14SP2, vous allez avoir un peu de travail. La source de toute la réflexion de cette partie vient de [[http://​www.mathworks.com/​support/​solutions/​data/​1-18N21.html?​solution=1-18N21|The MathWorks]].
-Commencez par lancer Matlab. Une fois que la console est prête, cherchez lez informations sur OpenGL : +Commencez par lancer Matlab. Une fois que la console est prête, cherchez lez informations sur OpenGL :
 <​code>​ <​code>​
 >> opengl info >> opengl info
Ligne 369: Ligne 252:
 (remplacez par l'​emplacement de matlab si besoin est...). (remplacez par l'​emplacement de matlab si besoin est...).
  
-Vous saurez alors si les différentes librairies openGL sont là où elles sont sensée ​être. Voici un exemple de configuration correcte.+Vous saurez alors si les différentes librairies openGL sont là où elles sont censées ​être. Voici un exemple de configuration correcte.
 <​code>​ <​code>​
 $ldd /​usr/​local/​matlab/​bin/​glnx86/​glren.so $ldd /​usr/​local/​matlab/​bin/​glnx86/​glren.so
Ligne 393: Ligne 276:
         /​lib/​ld-linux.so.2 => /​lib/​ld-linux.so.2 (0x80000000)         /​lib/​ld-linux.so.2 => /​lib/​ld-linux.so.2 (0x80000000)
 </​code>​ </​code>​
-S'il vous manque une librairie importante sur cette liste, mais qu'​elle est installé, il faudra créer un lien virtuel. +S'il vous manque une librairie importante sur cette liste, mais qu'​elle est installée, il faudra créer un lien virtuel. 
-Imaginons que vous obtenez libGL.so => not found.  +Imaginons que vous obtenez libGL.so => not found. 
-On se place d'​abord dans le répertoire suivant : +On se place d'​abord dans le répertoire suivant :
 <​code>​ <​code>​
 cd /​usr/​local/​matlab/​sys/​opengl/​lib/​glnx86 cd /​usr/​local/​matlab/​sys/​opengl/​lib/​glnx86
 </​code>​ </​code>​
-Vous allez ensuite vérifier si le paquet libGL.so est installé : +Vous allez ensuite vérifier si le paquet libGL.so est installé :
 <​code>​ <​code>​
 dpkg -s libGL.so dpkg -s libGL.so
Ligne 411: Ligne 294:
 Les risques d'​avoir ce problème sont faibles si vous utilisez les pilotes corrects pour votre carte video. Les risques d'​avoir ce problème sont faibles si vous utilisez les pilotes corrects pour votre carte video.
  
-Si ça marche à peu près, mais que ce n'est pas encore parfait, c'est probablement Matlab qui n'​utilise pas le bon Xvisual. Pour vérifier, on ouvre le bureau Matlab, et on tape la commande suivante : +Si ça marche à peu près, mais que ce n'est pas encore parfait, c'est probablement Matlab qui n'​utilise pas le bon Xvisual. Pour vérifier, on ouvre le bureau Matlab, et on tape la commande suivante :
 <​code>​ <​code>​
 hf=figure; hf=figure;
Ligne 418: Ligne 301:
 </​code>​ </​code>​
 Vous obtiendrez une chaîne, ressemblant à "** 0x21 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)** ". Vous obtiendrez une chaîne, ressemblant à "** 0x21 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)** ".
-Tapez maintenant : +Tapez maintenant :
 <​code>​ <​code>​
 glxinfo | grep 0x21 | awk '​{print $15}' glxinfo | grep 0x21 | awk '​{print $15}'
Ligne 465: Ligne 348:
 **uigetfile** : Affiche la boîte de dialogue standard pour la récupération de fichiers. **uigetfile** : Affiche la boîte de dialogue standard pour la récupération de fichiers.
  
-Exemple :  +Exemple : 
-  [FileName,​PathName,​FilterIndex] = uigetfile('/​home/​login/'​) +  [FileName,​PathName,​FilterIndex] = uigetfile('/​home/​login/'​)\\ 
-{{:​matlab:​selectfiletoopen-1.png?​400|}}+{{:​matlab:​selectfiletoopen-1.png?​400|}}\\
 {{:​matlab:​fileselectionfail.png|}} {{:​matlab:​fileselectionfail.png|}}
  
-Si cette fonction ne retourne rien, et retourne une erreur "File does not exist" dans un popup. La solution ([[http://​www.mathworks.com/​matlabcentral/​newsreader/​view_thread/​73094|source]]) consiste à taper dans la console matlab : +Si cette fonction ne retourne rien, et retourne une erreur "File does not exist" dans un popup. La solution ([[http://​www.mathworks.com/​matlabcentral/​newsreader/​view_thread/​73094|source]]) consiste à taper dans la console matlab :
   setappdata(0,'​UseNativeSystemDialogs',​0)   setappdata(0,'​UseNativeSystemDialogs',​0)
  
-La boîte de dialogue est alors remplacé ​par une autre fonctionnelle.+La boîte de dialogue est alors remplacée ​par une autre fonctionnelle.\\
 {{:​matlab:​selectfiletoopen-2.png?​400|}} {{:​matlab:​selectfiletoopen-2.png?​400|}}
  
-==== Liens ====+=== 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 ~/​bin/​Matlab/​bin/​matlab  
 + 
 +(en adaptant le chemin en fonction de votre répertoire d'​installation). Ensuite, ajoutez la ligne 
 + 
 +<​code>​ 
 +export AWT_TOOLKIT=MToolkit 
 +</​code>​ 
 + 
 +dans la section «Export the variables»,​ aux alentours de la ligne 1633. 
 + 
 +S'il manque vraiment beaucoup de morceaux au desktop de matlab, et s'ils ne reviennent toujours pas avec la manip précédente,​ (ceci pour R2007b et Gutsy), "​débranchez"​ Compiz: 
 + 
 +<​code>​ 
 +metacity --replace 
 +</​code>​ 
 + 
 +et relancez matlab. Si cette solution provisoire devenait définitive: ​ Système -> Préférences -> Apparence -> Effets Visuels",​ choisir "​Aucuns"​. (Mais vous perdez au passage les beaux effets du gestionnaire de fenêtres) . 
 + 
 +== Nouvelle méthode : == 
 + 
 +Trouvez où vous avez installé matlab (personnellement dans mon répertoire principal) 
 +en faisant donc 
 +<​code>​ gedit LaOuVousAvezInstalléMATLAB/​bin/​matlab </​code> ​  
 +puis juste après 
 +<​code>#​!/​bin/​sh</​code>​  
 +ajoutez 
 +<​code>​export MATLAB_JAVA=/​usr/​lib/​jvm/​java-6-sun/​jre/</​code>​ 
 +Sauvez, ça marche :-) 
 + 
 +<note important>​Si la nouvelle méthode vous créer des ennuis avec l'​utilisation de la touche "alt gr" (impossibilité de l'​utiliser),​ utilisez l'​ancienne méthode. 
 +</​note>​ 
 + 
 +=== Créer un raccourci sur le bureau ou dans le menu principal === 
 + 
 +Inspiré de la doc de ubuntu.com. 
 + 
 +Récupérer l'​icone matlab : 
 +<​code>​ 
 +sudo wget https://​upload.wikimedia.org/​wikipedia/​commons/​2/​21/​Matlab_Logo.png -O /​usr/​share/​icons/​matlab.png 
 +</​code>​ 
 + 
 +Modifier le fichier /​var/​lib/​locales/​supported.d/​fr pour lui ajouter à la fin ceci : 
 +<​code>​ 
 +fr_FR ISO-8859-1 
 +</​code>​ 
 + 
 +Rentrer ça dans la ligne de commande pour régénérer les "​locale"​ : 
 +<​code>​ 
 +sudo locale-gen --purge 
 +</​code>​ 
 + 
 +Créer le fichier /​usr/​share/​applications/​matlab.desktop contenant : 
 +<​code>​ 
 +[Desktop Entry] 
 +Type=Application 
 +Icon=/​usr/​share/​icons/​matlab.png 
 +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;​ 
 +</​code>​ 
 +Note : Il permet de résoudre les problèmes d'​encodage de caractères dans les figures. Comme dans l'​exemple suivant : 
 +<​code>​ 
 +figure;​title('​µ'​);​ 
 +</​code>​ 
 + 
 + 
 +=== 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 /​etx/​lib.so.6,​ qui n'a pas par défaut les permissions d'​exécutiuon,​ et qui ne se comporte pas toujours comme prévu avec certains scripts. Quand certains scripts (fichiers d'​installation et de démarrage) veulent connaître la version de libc, ils n'​obtiennent pas de réponse. Ceci engendre la non-installation des fichiers mexglx requis, et au démarrage de Matlab, le script **[matlab_dir]/​bin/​util/​oscheck.sh** donne le rapport d'​erreur suivant : 
 +<​code>​ 
 +/​opt/​matlab/​bin/​util/​oscheck.sh:​ line 134: /​lib/​libc.so.6:​ Permission denied 
 +</​code>​ 
 + 
 + 
 +Le fichier **[matlab_dir]/​toolbox/​matlab/​datatypes/​cellfun.mexglx** n'a pas été installé, et ceci peut poser des problèmes au moment d'​éxécuter une commande simple, comme ls, par exemple : 
 +<​code>​ 
 +>> ls  
 +??? Attempt to execute SCRIPT cellfun as a function.  
 +Error in ==> iscellstr at 13 
 +  res = cellfun('​isclass',​s,'​char'​);​  
 +Error in ==> ls at 16  
 +if iscellstr(varargin) 
 +</​code>​ 
 + 
 +Une façon de résoudre ce problème serait de modifier deux lignes dans le script [cd_matlab]/​install (à faire donc avant l'​installation) et dans  [matlab]/​bin/​util/​oscheck.sh (à faire après l'​installation). 
 + 
 +Dans **install**,​ ligne 697 : 
 +<​code>​ 
 +ver=`strings /​lib/​libc.so.6 | head -n 1 | sed -e "​s/​^[^0-9]*//"​ -e "s/[ ,​].*$//"​` 
 +</​code>​ 
 + 
 +et dans oscheck.sh, ligne 134 : 
 +<​code>​ 
 +ver=`/​lib/​libc.so.6 | head -n 1 | sed -e "​s/​^[^0-9]*//"​ -e "s/[ ,​].*$//"​ 
 +</​code>​ 
 + 
 +doivent être remplacées par : 
 +<​code>​ 
 +ver=`strings /​lib/​libc.so.6 | grep "GNU C Library"​ | sed -e "​s/​^[^0-9]*//"​ -e "s/[ ,​].*$//"​` 
 +</​code>​ 
 + 
 +Pour pouvoir éditer le fichier d'​installation,​ il faut avoir copié le CD sur le disque dur, comme décrit dans la section Installation. 
 + 
 +Vous pouvez trouver une explication plus détaillée ​ [[http://​www.cfar.umd.edu/​users/​aravinds/​tools.html#​install_matlab|ici]] (en anglais). Ceci peut expliquer d'​autres problèmes, avec d'​autres fichiers .mexglx manquants. 
 + 
 + 
 +=== 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'​outils si il vous répond R13 
 +ou 
 +  * tapez la commande vpa(64,pi). Si vous obtenez le message d'​erreur suivant : 
 +<​code>​ 
 +Unable to load mex file: /​usr/​local/​matlab/​toolbox/​symbolic/​maplemex.mexglx. 
 +/​usr/​local/​matlab/​bin/​glnx86/​libmaple.so:​ symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference 
 +??? Invalid MEX-file 
 +</​code>​ 
 +c'est que vous souffrez du tristement célèbre bug NPTL. 
 + 
 +Tout d'​abord,​ ouvrez avec un éditeur de texte le script de lancement de Matlab. Vous pouvez taper par exemple : 
 +<​code>​ 
 +sudo gedit 'which Matlab'​ 
 +</​code>​ 
 +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 ​ . Vous devriez obtenir quelque chose du genre : 
 +<​code>​ 
 +__________________________________________________________________________ 
 +
 +    export LD_ASSUME_KERNEL=2.4.1 
 +    arg0_=$0 
 +
 +# Temporary file that hold MATLABPATH code from .matlab6rc.sh file. 
 +
 +    temp_file=/​tmp/​$$a 
 +
 +    trap "rm -f $temp_file; exit 1" 1 2 3 
 +</​code>​ 
 +Sauvez et fermez l'​éditeur. Pour vérifier le bon fonctionnement de la manoeuvre, dans Matlab, tapez getenv ('​LD_ASSUME_KERNEL'​) , s'il vous dit 2.4.1, vous avez résolu le problème ! 
 + 
 +===== Liens ====
   *Wiki anglais: [[https://​wiki.ubuntu.com/​MATLAB]].   *Wiki anglais: [[https://​wiki.ubuntu.com/​MATLAB]].
   *[[calcul_numerique]]   *[[calcul_numerique]]
Ligne 482: Ligne 514:
  
 ---- ----
-//​Contributeurs : [[utilisateurs:​pitchoun|Pitchoun]] (traduction),​ [[utilisateurs:​gou|Gou]]//​+//​Contributeurs : [[utilisateurs:​pitchoun|Pitchoun]] (traduction),​ [[utilisateurs:​gou|Gou]], [[utilisateurs:​remjg|remjg]].//
  • matlab.1289379075.txt.gz
  • Dernière modification: Le 18/04/2011, 14:54
  • (modification externe)