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 27/10/2012, 17:31]
remjg [Matlab r2008a-2009b]
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]].+
  
-Matlab fonctionne toutefois 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-2012b ​====+===== Installation =====
  
-  * Insérer ​le DVD ou monter l'image ISO avec [[furiusisomount]] (sélectionner ​l'option loop). +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 Matlab, vous avez les droits administrateur et assez d'​espace libre sur la partition racine /////.
-{{:​matlab-quantal-furiusisomount.png?​direct&​300|direct}}\\+
  
-  ​* Ouvrir un terminal et se placer dans le répertoire d'​installation ​:+==== Installation système de la version Unix ==== 
 + 
 +  * Insérer le DVD ou monter l'​image ISO avec [[furiusisomount]]. 
 +{{:​matlab_quantal_furiusisomount.png?​direct&​400|}} 
 +  ​* Ouvrir un terminal et se placer dans le répertoire d'​installation.
 <​code>​ <​code>​
 cd CheminRepertoireMatlab/​ cd CheminRepertoireMatlab/​
 </​code>​ </​code>​
- +  ​Se connecter ​en tant que superutilisateur.
-  ​Pour une installation système pour tous les utilisateurs,​ se connecter ​comme administrateur avec la commande ci-dessous, sinon passer à l'​étape suivante.+
 <​code>​ <​code>​
-sudo su+sudo -i
 </​code>​ </​code>​
- +  ​* Exécuter le script **install**.
-  ​* Exécuter le script **install** ​(un double clic suffit si ce n'est pas une installation système).+
 <​code>​ <​code>​
 ./install ./install
 </​code>​ </​code>​
- +  ​* 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.\\ 
-  ​* Suivre les différentes étapes de l'​installation ​sachant que : +{{:​matlab_quantal_systeminstall.png?​direct&​400|}} 
-    * pour une installation système, le répertoire de destination ​devrait se trouver dans ///​usr/​local///​+  * Installer le paquet **[[apt>​matlab-support]]** ​(afin entre autres d'​intégrer Matlab dans les menus)puis répondez aux questions
-    ​pour une installation utilisateur,​ le répertoire de destination doit se trouver dans votre répertoire personnel+{{:​matlab_quantal_maltabsupport01.png?​direct&​400|}}\\ 
- +{{:matlab_quantal_maltabsupport02.png?​direct&​400|}}\\ 
-  * Installer le paquet **[[apt>​matlab-support]]** afin entre autres d'​intégrer Matlab dans les menus.   +{{:​matlab_quantal_maltabsupport03.png?​direct&​400|}} 
- +  * Lancer Matlab en tant qu'administrateur ​pour enregistrer votre version.
-Matlab n'a besoin d'​aucun autre packageil s'​installe avec ses propres pilotes pour la vidéo, et son Java intégré+
-Il est tout de même preférable d'​installer le pilote adéquate pour votre carte vidéo+
- +
-==== Matlab r2007a ==== +
- +
-<note tip>Notece test a été fait sous Kubuntu Feisty</​note>​ +
- +
-=== Prérequis === +
- +
-Vous n'avez besoin de presque rien pour utiliser Matlab. Il 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+sudo matlab
 </​code>​ </​code>​
-Si la réponse est du genre : 
-<​code>​ 
-usr/​bin/​java 
-</​code>​ 
-vous ne devriez pas avoir de problème. Sinon, voici comment faire : [[http://​wiki.ubuntu-fr.org/​applications/​java?​s=java|HOWTO Java]] ou [[Java]] 
  
-Pour la carte graphique, tapez dans un terminal : +==== Installation utilisateur ​de la version Unix ====
-<​code>​ +
-grep Driver /​etc/​X11/​xorg.conf +
-</​code>​ +
-Si vous obtenez comme réponse une ligne qui vous dit : +
-  * fglrx ou nvidia, alors pas de problème +
-  * nv, ati ou radeon, il vous faut alors installer les pilotes +
-  * vesa, i810 ou autre chose, vous serez limités dans l'​utilisation du logiciel.+
  
-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. ​+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///
  
 +==== Installation de la version Windows ​ ====
  
-=== Installation ===+Si vous disposez uniquement de la version Windows de Matlab et ne souhaitez pas acquérir une licence Unix en plus, deux solutions s'​offrent à vous : 
 +  - installer Matlab dans une machine virtuelle Windows (des logiciels comme [[gnome-boxes| GNOME Boxes]] ou [[virtualbox|VirtualBox]] rendent l'​opération assez aisée) ; 
 +  - 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]].
  
 +===== Utilisation =====
  
-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.+Si vous avez installé le paquet **[[apt>​matlab-support]]**,​ vous pouvez lancer ​Matlab ​comme n'importe quel autre logiciel ​(menudash, etc...). 
 +Sinon tapez la commande ''​matlab''​ dans une console.
  
-La première consiste à copier le disque sur votre disque dur, pour ensuite lancer l'​installation. +===== Configuration =====
-Pour copier le contenu du disque, tapez dans un terminal : +
-<​code>​ +
-sudo cp -R /​media/​cdrom0 /​tmp/​matlab +
-</​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 : +Pour configurer Matlaballer dans le menu //File Preferences...//
-<​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).+==== Raccourcis clavier Ctrl+c Ctrl+v ====
  
-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)+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 : 
-Ensuite suivez les instructions d'​installation classiques... +  ​Ouvrir le menu de configuration. 
-Une fois l'​installation terminée, vous devez lancer un script de finalisation de l'​installation:​ +  ​Aller dans le menu //Keyboard > Shortcuts//. 
-<​code>​sudo ​/usr/local/matlab/install_matlab<​/code> +  * Sélectionner ​//Windows Default Set// dans le menu déroulant //Active setting//.
-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 +===== Désinstallation =====
-<​code>​ +
-matlab +
-</​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 : +  * Désinstaller ​le paquet ​''​matlab-support''​
-<​code>​ +  * Puis suivre les indications données sur cette page : [[http://​www.mathworks.fr/​support/​solutions/​en/data/1-17VR3/index.html?​solution=1-17VR3]]
--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 ​JavaCeci implique -nodesktop +
--r "​commande" ​         Démarre Matlab ​en éxécutant "​commande"​ +
--h                     Pour voir d'​autres options +
-</code>+
  
 +===== Problèmes courants =====
  
-==== Emulation de la version Matlab ​sous Windows ​====+==== Menus inutilisables ​sous Gnome Shell ====
  
-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.+Lorsqu'​une fenêtre ​de Matlab ​est maximisée, il devient impossible ​d'accéder aux menusIl semble que Matlab ​n'arrivent à récupérer correctement les coordonnées de la fenêtre et donc des menus depuis Mutter.
  
-== Avec VirtualBox et VMware == +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.
- +
-Testé sous Ubuntu Hardy, fonctionne très bien. Un peu plus lent bien sûr. +
- +
-== Avec Wine == +
- +
-/FIXME +
- +
-L'installation se lance sans soucis mais à l'execution il manque des DLLs. +
- +
-==== Problème SSE 2 manquant ==== +
- +
-<​code>​ +
-Error: Your computer processor is missing the SSE2 instructions that +
-       are required for MATLAB to run correctly. +
-       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 ====
Ligne 155: Ligne 99:
 Commencez par installer ia32-libs depuis synaptic si vous etes en 64 et que vous installez la version etudiante (ou non-etudiante en fait). 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 [[http://​ubuntuforums.org/​showthread.php?​t=90895&​highlight=libXp.so.6&​page=3|forum]] </​note>​+<​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 165: 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 172: 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 187: 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 =====+==== L'​installeur ne démarre pas ====
  
-Voici quelques uns des problèmes rencontrés pendant l'​installation +le lancement de l'​installation de la version 32 bit sur Ubuntu 9.04 64bit  provoque un message d'​erreur ressemblant à
- +
-=== 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 à +
  
 <​code>​ <​code>​
Ligne 217: 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 225: 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 ​ avec MEX  suite à une mise à niveau ubuntu ===+==== 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.
Ligne 246: Ligne 186:
 4.4' et FC='​g95'​ par FC='​gfortran-4.4'​ **. v) Sauvez et relancer matlab. Cela marche ! 4.4' et FC='​g95'​ par FC='​gfortran-4.4'​ **. v) Sauvez et relancer matlab. Cela marche !
  
-=== Erreur de librairie ​ suite à une mise à niveau ubuntu ===+==== Erreur de bibliothèque ​ suite à une mise à niveau ubuntu ​====
  
-Là encore la solution ​ est simple: MATLAB devrait vous retourner qu'il ne trouve pas la librairie ​libc.so.6en référence avec oscheck.sh. Voici quelques variantes suivant que vous soyez+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
 sous 32 ou 64-bits: sous 32 ou 64-bits:
  
Ligne 271: Ligne 211:
 sudo ln -s /​lib64/​x86_64-linux-gnu/​libc-2.13.so sudo ln -s /​lib64/​x86_64-linux-gnu/​libc-2.13.so
 /​lib64/​libc.so.6 /​lib64/​libc.so.6
- 
-(Rem: pour moi il fallait mettre sudo ln -s /​lib/​x86_64-linux-gnu/​libc-2.15.so /​lib64/​libc.so.6 ) 
  
 **sous linux 32-bit**: **sous linux 32-bit**:
Ligne 278: Ligne 216:
 sudo ln -s /​lib/​i386-linux-gnu/​libc-2.13.so /​lib/​libc.so.6 sudo ln -s /​lib/​i386-linux-gnu/​libc-2.13.so /​lib/​libc.so.6
  
-=== Message de warning dans la fenêtre de commande ===+<​note>​ 
 +Sous [[:​precise|Ubuntu 12.04]] la bibliothèque a changé, il faut mettre  
 + 
 +**64-bit :** 
 +  sudo ln -s /​lib/​x86_64-linux-gnu/​libc-2.15.so /​lib64/​libc.so.6  
 +**32-bit :** 
 +  sudo ln -s /​lib/​i386-linux-gnu/​libc-2.15.so /​lib/​libc.so.6 
 +</​note>​ 
 + 
 +==== Message de warning dans la fenêtre de commande ​====
  
 Pour éliminer le message "the desktop configuration was not saved Pour éliminer le message "the desktop configuration was not saved
Ligne 284: Ligne 231:
 sudo chmod a+w -R /​usr/​local/​matlab , puis: sudo chmod a+w -R /​usr/​local/​matlab , puis:
 sudo chown -R votrelogin:​votrelogin ~/.matlab sudo chown -R votrelogin:​votrelogin ~/.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]].
 +Commencez par lancer Matlab. Une fois que la console est prête, cherchez lez informations sur OpenGL :
 +<​code>​
 +>> opengl info
 +
 +Version ​       = 2.0.0 NVIDIA 76.64
 +Vendor ​        = NVIDIA Corporation
 +Renderer ​      = GeForce FX 5200/​PCI/​SSE2
 +MaxTextureSize = 4096
 +Extensions ​    = GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_fragment_program_shadow ...
 +</​code>​
 +Les résultats dépendent évidemment de votre machine, mais la partie importante est la partie "​**Renderer**"​. Dans cet exemple, il donne le nom de la carte qui va s'​occupper du rendu. Si vous utilisez un rendu logiciel, vous obtiendrez **Mesa X11**. Si vous utilisez la carte graphique, et que vous ne disposez pas de l'​accélération matérielle,​ vous avez probablement besoin d'​installer les  pilotes du constructeur.
 +Si les pilotes ne sont pas responsables,​ ouvrez un terminal, et tapez :
 +<​code>​
 +ldd /​usr/​local/​matlab/​bin/​glnx86/​glren.so
 +</​code>​
 +(remplacez par l'​emplacement de matlab si besoin est...).
 +
 +Vous saurez alors si les différentes librairies openGL sont là où elles sont censées être. Voici un exemple de configuration correcte.
 +<​code>​
 +$ldd /​usr/​local/​matlab/​bin/​glnx86/​glren.so
 +                libmx.so => not found
 +        libut.so => not found
 +        libmwudd.so => not found
 +        libmwservices.so => not found
 +        libGL.so => /​usr/​lib/​libGL.so (0xb7f45000)
 +        libGLU.so => /​usr/​X11R6/​lib/​libGLU.so (0xb7ecf000)
 +        libXext.so.6 => /​usr/​X11R6/​lib/​libXext.so.6 (0xb7ec2000)
 +        libXp.so.6 => /​usr/​X11R6/​lib/​libXp.so.6 (0xb7eba000)
 +        libXt.so.6 => /​usr/​X11R6/​lib/​libXt.so.6 (0xb7e6a000)
 +        libX11.so.6 => /​usr/​X11R6/​lib/​libX11.so.6 (0xb7da5000)
 +        libc.so.6 => /​lib/​tls/​i686/​cmov/​libc.so.6 (0xb7c78000)
 +        libGLcore.so.1 => /​usr/​lib/​libGLcore.so.1 (0xb750f000)
 +        libnvidia-tls.so.1 => /​usr/​lib/​tls/​libnvidia-tls.so.1 (0xb750d000)
 +        libm.so.6 => /​lib/​tls/​i686/​cmov/​libm.so.6 (0xb74ec000)
 +        libdl.so.2 => /​lib/​tls/​i686/​cmov/​libdl.so.2 (0xb74e8000)
 +        libstdc++.so.5 => /​usr/​lib/​libstdc++.so.5 (0xb742e000)
 +        libgcc_s.so.1 => /​lib/​libgcc_s.so.1 (0xb7423000)
 +        libSM.so.6 => /​usr/​X11R6/​lib/​libSM.so.6 (0xb741a000)
 +        libICE.so.6 => /​usr/​X11R6/​lib/​libICE.so.6 (0xb7402000)
 +        /​lib/​ld-linux.so.2 => /​lib/​ld-linux.so.2 (0x80000000)
 +</​code>​
 +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.
 +On se place d'​abord dans le répertoire suivant :
 +<​code>​
 +cd /​usr/​local/​matlab/​sys/​opengl/​lib/​glnx86
 +</​code>​
 +Vous allez ensuite vérifier si le paquet libGL.so est installé :
 +<​code>​
 +dpkg -s libGL.so
 +</​code>​
 +S'il l'est, vous créez le lien symbolique :
 +<​code>​
 +ln -s /​usr/​lib/​libGL.so libGL.so
 +</​code>​
 +S'il n'est pas installé, et bien... installez-le !
 +
 +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 :
 +<​code>​
 +hf=figure;
 +set(hf,'​renderer','​opengl'​);​
 +get(hf,'​xvisual'​)
 +</​code>​
 +Vous obtiendrez une chaîne, ressemblant à "** 0x21 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)** ".
 +Tapez maintenant :
 +<​code>​
 +glxinfo | grep 0x21 | awk '​{print $15}'
 +</​code>​
 +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.
 +<​code>​
 +glxinfo | grep tc | grep y
 +</​code>​
 +Vous obtenez alors une liste de Xvisual.
 +<​code>​
 +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
 +</​code> ​
 +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
 +<​code>​
 +set(0,'​defaultfigurexvisual','​0x26'​);​
 +</​code>​
 +et rentrez cette ligne dans le fichier startup.m. Vous devriez maintenant avoir des jolis graphes openGL !
 +
 +Si matlab vous dit "​Warning:​ Could not access OpenGL library",​ une solution est  <​code>​
 +export LD_LIBRARY_PATH=/​usr/​local/​matlab/​sys/​opengl/​lib/​glnx86
 +</​code>​
 +(soit dans votre .bashrc, soit dans un lanceur avec exec=/​bin/​sh -c "​LD_LIBRARY_PATH=/​usr/​local/​matlab/​sys/​opengl/​lib/​glnx86 /​usr/​local/​matlab/​bin/​matlab"​).
 +
 +=== uigetfile ===
 +
 +**uigetfile** : Affiche la boîte de dialogue standard pour la récupération de fichiers.
 +
 +Exemple :
 +  [FileName,​PathName,​FilterIndex] = uigetfile('/​home/​login/'​)\\
 +{{:​matlab:​selectfiletoopen-1.png?​400|}}\\
 +{{:​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 :
 +  setappdata(0,'​UseNativeSystemDialogs',​0)
 +
 +La boîte de dialogue est alors remplacée par une autre fonctionnelle.\\
 +{{:​matlab:​selectfiletoopen-2.png?​400|}}
  
 === Utiliser Compiz === === Utiliser Compiz ===
Ligne 310: Ligne 384:
 </​code>​ </​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) . +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 : == == Nouvelle méthode : ==
  
 Trouvez où vous avez installé matlab (personnellement dans mon répertoire principal) Trouvez où vous avez installé matlab (personnellement dans mon répertoire principal)
-en faisant donc +en faisant donc
 <​code>​ gedit LaOuVousAvezInstalléMATLAB/​bin/​matlab </​code>  ​ <​code>​ gedit LaOuVousAvezInstalléMATLAB/​bin/​matlab </​code>  ​
-puis juste après ​+puis juste après
 <​code>#​!/​bin/​sh</​code> ​ <​code>#​!/​bin/​sh</​code> ​
 ajoutez ajoutez
Ligne 323: Ligne 397:
 Sauvez, ça marche :-) 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.+<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>​ </​note>​
  
Ligne 332: Ligne 406:
 Récupérer l'​icone matlab : Récupérer l'​icone matlab :
 <​code>​ <​code>​
-sudo wget http://​upload.wikimedia.org/​wikipedia/​commons/​2/​21/​Matlab_Logo.png -O /​usr/​share/​icons/​matlab.png+sudo wget https://​upload.wikimedia.org/​wikipedia/​commons/​2/​21/​Matlab_Logo.png -O /​usr/​share/​icons/​matlab.png
 </​code>​ </​code>​
  
Ligne 347: Ligne 421:
 Créer le fichier /​usr/​share/​applications/​matlab.desktop contenant : Créer le fichier /​usr/​share/​applications/​matlab.desktop contenant :
 <​code>​ <​code>​
-#!/bin/sh 
 [Desktop Entry] [Desktop Entry]
 Type=Application Type=Application
Ligne 397: Ligne 470:
 </​code>​ </​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. ​+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. 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.
Ligne 404: Ligne 477:
 === Les outils symboliques ne fonctionnent pas === === Les outils symboliques ne fonctionnent pas ===
  
-Pour savoir si vous êtes concernés par ce problème : +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   * Lancez Matlab et regardez dans la boite d'​outils si il vous répond R13
 ou ou
-  * tapez la commande vpa(64,pi). Si vous obtenez le message d'​erreur suivant : +  * tapez la commande vpa(64,pi). Si vous obtenez le message d'​erreur suivant :
 <​code>​ <​code>​
 Unable to load mex file: /​usr/​local/​matlab/​toolbox/​symbolic/​maplemex.mexglx. Unable to load mex file: /​usr/​local/​matlab/​toolbox/​symbolic/​maplemex.mexglx.
Ligne 415: Ligne 488:
 c'est que vous souffrez du tristement célèbre bug NPTL. 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 : +Tout d'​abord,​ ouvrez avec un éditeur de texte le script de lancement de Matlab. Vous pouvez taper par exemple :
 <​code>​ <​code>​
 sudo gedit 'which Matlab'​ sudo gedit 'which Matlab'​
 </​code>​ </​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 : +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>​ <​code>​
 __________________________________________________________________________ __________________________________________________________________________
Ligne 434: Ligne 507:
 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 ! 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 =====
  
- 
-=== 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]]. 
-Commencez par lancer Matlab. Une fois que la console est prête, cherchez lez informations sur OpenGL :  
-<​code>​ 
->> opengl info 
- 
-Version ​       = 2.0.0 NVIDIA 76.64 
-Vendor ​        = NVIDIA Corporation 
-Renderer ​      = GeForce FX 5200/​PCI/​SSE2 
-MaxTextureSize = 4096 
-Extensions ​    = GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_fragment_program_shadow ... 
-</​code>​ 
-Les résultats dépendent évidemment de votre machine, mais la partie importante est la partie "​**Renderer**"​. Dans cet exemple, il donne le nom de la carte qui va s'​occupper du rendu. Si vous utilisez un rendu logiciel, vous obtiendrez **Mesa X11**. Si vous utilisez la carte graphique, et que vous ne disposez pas de l'​accélération matérielle,​ vous avez probablement besoin d'​installer les  pilotes du constructeur. 
-Si les pilotes ne sont pas responsables,​ ouvrez un terminal, et tapez : 
-<​code>​ 
-ldd /​usr/​local/​matlab/​bin/​glnx86/​glren.so 
-</​code>​ 
-(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. 
-<​code>​ 
-$ldd /​usr/​local/​matlab/​bin/​glnx86/​glren.so 
-                libmx.so => not found 
-        libut.so => not found 
-        libmwudd.so => not found 
-        libmwservices.so => not found 
-        libGL.so => /​usr/​lib/​libGL.so (0xb7f45000) 
-        libGLU.so => /​usr/​X11R6/​lib/​libGLU.so (0xb7ecf000) 
-        libXext.so.6 => /​usr/​X11R6/​lib/​libXext.so.6 (0xb7ec2000) 
-        libXp.so.6 => /​usr/​X11R6/​lib/​libXp.so.6 (0xb7eba000) 
-        libXt.so.6 => /​usr/​X11R6/​lib/​libXt.so.6 (0xb7e6a000) 
-        libX11.so.6 => /​usr/​X11R6/​lib/​libX11.so.6 (0xb7da5000) 
-        libc.so.6 => /​lib/​tls/​i686/​cmov/​libc.so.6 (0xb7c78000) 
-        libGLcore.so.1 => /​usr/​lib/​libGLcore.so.1 (0xb750f000) 
-        libnvidia-tls.so.1 => /​usr/​lib/​tls/​libnvidia-tls.so.1 (0xb750d000) 
-        libm.so.6 => /​lib/​tls/​i686/​cmov/​libm.so.6 (0xb74ec000) 
-        libdl.so.2 => /​lib/​tls/​i686/​cmov/​libdl.so.2 (0xb74e8000) 
-        libstdc++.so.5 => /​usr/​lib/​libstdc++.so.5 (0xb742e000) 
-        libgcc_s.so.1 => /​lib/​libgcc_s.so.1 (0xb7423000) 
-        libSM.so.6 => /​usr/​X11R6/​lib/​libSM.so.6 (0xb741a000) 
-        libICE.so.6 => /​usr/​X11R6/​lib/​libICE.so.6 (0xb7402000) 
-        /​lib/​ld-linux.so.2 => /​lib/​ld-linux.so.2 (0x80000000) 
-</​code>​ 
-S'il vous manque une librairie importante sur cette liste, mais qu'​elle est installé, il faudra créer un lien virtuel. 
-Imaginons que vous obtenez libGL.so => not found. ​ 
-On se place d'​abord dans le répertoire suivant :  
-<​code>​ 
-cd /​usr/​local/​matlab/​sys/​opengl/​lib/​glnx86 
-</​code>​ 
-Vous allez ensuite vérifier si le paquet libGL.so est installé :  
-<​code>​ 
-dpkg -s libGL.so 
-</​code>​ 
-S'il l'est, vous créez le lien symbolique : 
-<​code>​ 
-ln -s /​usr/​lib/​libGL.so libGL.so 
-</​code>​ 
-S'il n'est pas installé, et bien... installez-le ! 
- 
-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 :  
-<​code>​ 
-hf=figure; 
-set(hf,'​renderer','​opengl'​);​ 
-get(hf,'​xvisual'​) 
-</​code>​ 
-Vous obtiendrez une chaîne, ressemblant à "** 0x21 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)** ". 
-Tapez maintenant :  
-<​code>​ 
-glxinfo | grep 0x21 | awk '​{print $15}' 
-</​code>​ 
-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. 
-<​code>​ 
-glxinfo | grep tc | grep y 
-</​code>​ 
-Vous obtenez alors une liste de Xvisual. 
-<​code>​ 
-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 
-</​code> ​ 
-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 
-<​code>​ 
-set(0,'​defaultfigurexvisual','​0x26'​);​ 
-</​code>​ 
-et rentrez cette ligne dans le fichier startup.m. Vous devriez maintenant avoir des jolis graphes openGL ! 
- 
-Si matlab vous dit "​Warning:​ Could not access OpenGL library",​ une solution est  <​code>​ 
-export LD_LIBRARY_PATH=/​usr/​local/​matlab/​sys/​opengl/​lib/​glnx86 
-</​code>​ 
-(soit dans votre .bashrc, soit dans un lanceur avec exec=/​bin/​sh -c "​LD_LIBRARY_PATH=/​usr/​local/​matlab/​sys/​opengl/​lib/​glnx86 /​usr/​local/​matlab/​bin/​matlab"​). 
- 
-=== uigetfile === 
- 
-**uigetfile** : Affiche la boîte de dialogue standard pour la récupération de fichiers. 
- 
-Exemple :  
-  [FileName,​PathName,​FilterIndex] = uigetfile('/​home/​login/'​) 
-{{:​matlab:​selectfiletoopen-1.png?​400|}} 
-{{:​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 :  
-  setappdata(0,'​UseNativeSystemDialogs',​0) 
- 
-La boîte de dialogue est alors remplacé par une autre fonctionnelle. 
-{{:​matlab:​selectfiletoopen-2.png?​400|}} 
- 
-==== Liens ==== 
   *Wiki anglais: [[https://​wiki.ubuntu.com/​MATLAB]].   *Wiki anglais: [[https://​wiki.ubuntu.com/​MATLAB]].
   *[[calcul_numerique]]   *[[calcul_numerique]]
Ligne 569: Ligne 514:
  
 ---- ----
-//​Contributeurs : [[utilisateurs:​pitchoun|Pitchoun]] (traduction),​ [[utilisateurs:​gou|Gou]]//​+//​Contributeurs : [[utilisateurs:​pitchoun|Pitchoun]] (traduction),​ [[utilisateurs:​gou|Gou]], [[utilisateurs:​remjg|remjg]].//
  • matlab.1351351890.txt.gz
  • Dernière modification: Le 27/10/2012, 17:31
  • par remjg