Précédent   Forum des professionnels en informatique > Environnements de développement > MATLAB
MATLAB Forum d'entraide sur MATLAB. Avant de poster -> FAQ MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2012, 16h20   #1
Invité régulier
 
Inscription : mars 2011
Messages : 92
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 92
Points : 7
Points : 7
Par défaut Script fonction 'ls'

Bonjour,

Si vous utilisez matlab sous windows, pourriez-vous s'il vous plaît copier le script de la fonction matlab 'ls' ?

Merci beaucoup
recherche888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 17h01   #2
Dut
Rédacteur/Modérateur
 
Avatar de Dut
 
Inscription : novembre 2006
Messages : 12 918
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 12 918
Points : 15 908
Points : 15 908
La fonction LS est contenue dans le fichier ls.m

Pour connaitre le chemin de ce fichier, il suffit de faire :

__________________
Mes contributions MATLAB (R2009a - Windows & Linux)

• J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" (Saint Huck)
• Des larmes coulèrent doucement des yeux fermés du vieil homme. Moi je pleurais comme un enfant, que d'ailleurs pour lui je ne cesserais d'être ma vie durant (Amkoullel)

• Lâché de Mogwai sur St Malo... aie aie aie... ouille ouille ouille
Dut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 18h26   #3
Invité régulier
 
Inscription : mars 2011
Messages : 92
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 92
Points : 7
Points : 7
Merci pour ta réponse

J'ai accès à ce fichier, mais depuis une machine tournant sous UNIX.

Dans la mesure où cette fonctionne n'opère pas tout à fait à l'identitique sous Windows, peut-être le script est-il différent sur une version de matlab installée sur une machine tournant sous Windows ?
recherche888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 19h15   #4
Modérateur
 
Inscription : août 2007
Messages : 3 580
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 3 580
Points : 4 408
Points : 4 408
Bonjour,

j'ai une impression de déjà-vu...

Les scripts sont sans doute identiqies mais la forme du résultat est différent :
Citation:
On UNIX platforms, list is a character row vector of names separated by tab and space characters.

On Microsoft Windows platforms, list is an m-by-n character array of names—m is the number of names and n is the number of characters in the longest name. MATLAB pads names shorter than n characters with space characters.
Si tu veux garder la même forme, il est sans doute plus simple de modifier la sortie pour la mettre au même format plutôt que de modifier le script ls.m.
__________________
Pour une bonne utilisation des balises code c'est ici!
Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


La nature est un livre écrit en langage mathématique. Galilée.
magelan est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 19h18   #5
Invité régulier
 
Inscription : mars 2011
Messages : 92
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 92
Points : 7
Points : 7
Merci !

Comme tu l'as compris au vu de mes autres postes, je tente de mettre en place une solution alternative.
Ce à quoi j'ai pensé dans ce post était "au cas où" le script de cette fonction serait effectivement différent.

S'ils sont identiques, il y a donc des fonctions définies en amont fonctionnant différemment sous les deux OS.
recherche888 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 19h50   #6
Modérateur
 
Inscription : août 2007
Messages : 3 580
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 3 580
Points : 4 408
Points : 4 408
Il y a un test dans la fonction ls pour savoir si le code est utilisé dans un système unix ou windows :
  • pour un système unix, MATLAB fera appel à la fonction unix ls
  • pour un système windows, MATLAB fera appel à la fonction matlab dir (d'ou l'utilité d'utiliser directement la commande dir pour que la comande s'éxécute de la même façon sur les 2 systèmes).

Pour modifier la sortie de ls sous linux et la mettre au même format que sous windows, il faut transformer la structure obtenue en sortie de ls vers un tableau de caractères :
Code :
1
2
3
listls = ls;
listls_split = regexp(k,'\n','split');
list_split_char = char(s);
ce code devrait correspondre à list_split_char = ls; sous windows. A tester.
__________________
Pour une bonne utilisation des balises code c'est ici!
Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


La nature est un livre écrit en langage mathématique. Galilée.
magelan est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h32.


 
 
 
 
Partenaires

Hébergement Web