IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Téléchargez Discussion :

Mise en évidence d'élément de matrice à l'affichage dans le Command Window


Sujet :

Téléchargez

  1. #1
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut Mise en évidence d'élément de matrice à l'affichage dans le Command Window
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Mise en évidence d'élément de matrice à l'affichage dans le Command Window

    Ceci fait suite à cette discussion : [disp] Format spécifique pour un élément d'une matrice

    Voir un exemple de résultat dans l'image ci-dessous.
    Images attachées Images attachées  
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « 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)

  2. #2
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Je trouve que cette discussion prendra une bonne place dans la partie FAQ ou Source.

    Cette fonction est très, très intéressante ...

    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  3. #3
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    J'ai eu besoin de cette fonction, mais le résultat ne me plais pas beaucoup, un problème de format de donnée et espacement entre les colonnes :

    La matrice m :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    >> m=randi([0 255], 15,15)
     
    m =
     
       211   141   150    91   218    29    94    96   138   186    57   159   112   193   117
        48     8   105    18   246    13   169   224    79    90   137    83   244    88   158
       113    13    79   151   173    77    43   200    18   199   195   205    31   107   238
       100   206    67   233   103   148    71   119    46   111    88   255   120    39   213
       211   115   194    49   239   135    50   208    23   111   118   251   219   209   229
       173    97   254   110   122   230    49   230   118    12   163    32    11   159   149
        53   202    47   191    59   138    83   109     2    12   234    59   177   189   149
        81    93   199    10   101   110   225    85   234    23    41     6   250   206   218
        34   136    50   242   180   138   120   152   164   152   183   155    72    17     8
       171   182   254   195   142   182   103   230     0    61   147    28    34   243   226
       146   223   205   143   193     4    45   179     7   215   110   104   175   127   104
        43    84   108    47   254   205   248    96    53   219   226   226   232   193     9
        37   166   186   127   246    36   104   188   116   246   100   140   156   190   191
       121   249   127   132   136   122   216   244    32   125    45    94   230   212    39
       232    19   207   254   246    65   157   138     2    56   162    53    49    40    36
    le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    >> surligne(fix(m), '%d', m<10)
     
    211 141 150 91 218 29 94 96 138 186 57 159 112 193 117
    48 8 105 18 246 13 169 224 79 90 137 83 244 88 158
    113 13 79 151 173 77 43 200 18 199 195 205 31 107 238
    100 206 67 233 103 148 71 119 46 111 88 255 120 39 213
    211 115 194 49 239 135 50 208 23 111 118 251 219 209 229
    173 97 254 110 122 230 49 230 118 12 163 32 11 159 149
    53 202 47 191 59 138 83 109 2 12 234 59 177 189 149
    81 93 199 10 101 110 225 85 234 23 41 6 250 206 218
    34 136 50 242 180 138 120 152 164 152 183 155 72 17 8
    171 182 254 195 142 182 103 230 0 61 147 28 34 243 226
    146 223 205 143 193 4 45 179 7 215 110 104 175 127 104
    43 84 108 47 254 205 248 96 53 219 226 226 232 193 9
    37 166 186 127 246 36 104 188 116 246 100 140 156 190 191
    121 249 127 132 136 122 216 244 32 125 45 94 230 212 39
    232 19 207 254 246 65 157 138 2 56 162 53 49 40 36
    Donc pour le résoudre, j'ai fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for n=1:numel(M)   
        if idx(n)       
            str=[str '<a href="">' sprintf(fmt,M(n)) '</a>' sprintf('\t')];        
        else        
            str=[str sprintf(fmt,M(n)) sprintf('\t')];        
        end
        if ~mod(n/sM(1),1)
            str=[str(1:end-1) '\n'];
        end        
    end
    Reste un tout petit inconvénient, les valeurs sont aligné à gauche de la colonne et non à droite comme le fait matlab par défaut !
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Pas besoin de modifier la fonction.

    Il suffit de modifier le second argument d'entrée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    surligne(fix(m), '%3d', m<10)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    surligne(fix(m), '%3d\t', m<10)
    Lire la documentation de la fonction FPRINTF pour les différents formats disponibles
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « 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)

  5. #5
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    OK, ça marche. Peut-on changer la couleur par exemple mettre en rouge ?
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Pour une version plus évoluée : cprintf - display formatted colored text in the Command Window

    Warning:
    This code heavily relies on undocumented and unsupported Matlab functionality. It works on Matlab 7+, but use at your own risk!
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « 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)

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2016
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    very good!!

Discussions similaires

  1. [Plugin] Mise en évidence des (parenthèse) et {accolade}
    Par LLaumgui dans le forum Eclipse Java
    Réponses: 10
    Dernier message: 24/06/2013, 09h28
  2. [Javascript][Algorithme] Mise en évidence de mot clé
    Par trihanhcie dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/08/2006, 10h09
  3. Mise en évidence des discussions avec nouveaux messages
    Par Kcirtap dans le forum Evolutions du club
    Réponses: 16
    Dernier message: 20/04/2006, 17h55
  4. Mise en évidence des différences entre 2 textes
    Par Dranor dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 19/07/2005, 22h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo