Salut,
J'ai plusieurs structures cell de dimensions 9*69.
Dans certaines de ces cases, j'ai rien (c'est à dire []) et dans d'autres des matrices de dimensions (60*565).
Comment faire pour obtenir les indices des cellules vides?
Merci de votre aide.
Salut,
J'ai plusieurs structures cell de dimensions 9*69.
Dans certaines de ces cases, j'ai rien (c'est à dire []) et dans d'autres des matrices de dimensions (60*565).
Comment faire pour obtenir les indices des cellules vides?
Merci de votre aide.
c'est un tableau de cellule
Utilise la fonction CELLFUN :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cellfun('isempty',X)
Merci dut, je ne connaissais pas cette fonction.
Mais ça ne me donne pas les indices des cellules vides.
Ces indices me sont utiles dans la suite de mon programme: je ne veux traiter que les cellules non vide. Les indices, qui sont en fait 9 latitudes et 69 mois (de plusieurs années) me servent juste de repère.
Excuse, j'me suis trompé!!
J'ai besoin des indices de cellules que je veux traiter bien sûr (celles non vides)!!
Mais, obtenir les indices des cellules vides ou non vides doit être semblable!
Si tu veux vraiment les indices, utilise FIND :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 idx = ~cellfun('isempty',X) X(idx)
Mais ce n'est pas toujours nécessaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 idx = find(~cellfun('isempty',X)) X(idx)
Voir la: Qu'est-ce que l'indexage logique ?
Eh bien dans mon cas, c'est nécessaire, sinon je ne m'embêterais pas!!!!!
J'aurais voulu 2 entiers (1 pour la ligne, 1 pour la colonne), ta méthode ne me donne qu'un entier correspondant au numéro de la cellule:
cellule (1,1) -> 1
cellule(2,1) -> 2 etc
Et si tu nous donnais un cas réel avec un tableau de cellules, on pourrait donner une réponse plus précise![]()
Pour ceux que ça intéresse: ce code me donne bien les indices désirés:
et les vecteurs idx et idy me donnent bien les indices voulus!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CellDvp=cell(3,3); CellDvp{2,1}=rand(2,2); CellDvp{3,2}=rand(2,2); CellDvp{1,3}=rand(2,2); CellDvp{3,3}=rand(2,2); [idx,idy]=find(~cellfun('isempty',CellDvp))
![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager