Find the different elements in a cell array

Hi to all,
i have a problem because i have a cell array and i need to find the cells that contain both numbers 1 and 2.
Thanks.

 Réponse acceptée

Stephen23
Stephen23 le 23 Nov 2021
Modifié(e) : Stephen23 le 23 Nov 2021
Where out is your cell array:
fnh = @(v) any(v(:)==1)&&any(v(:)==2);
idx = cellfun(fnh,out)

12 commentaires

LL
LL le 23 Nov 2021
It gave me error of invalid expression for the fnh line.
Stephen23
Stephen23 le 23 Nov 2021
@Lidia Frizzi: fixed now, please try it again.
LL
LL le 23 Nov 2021
it works thank you!!!!
LL
LL le 26 Nov 2021
@Stephen sorry could i please ask you, how can i find all the cell without the number 2?
fnh = @(v) all(v(:)~=2);
LL
LL le 26 Nov 2021
Perfect!!!
Now i have a matrix with only 1 (when the condition is true) and 0; but if i would like to maintain in the true cells the contents of the initial cell array? how could i do this?
Stephen23
Stephen23 le 26 Nov 2021
What should the output array contain for the false indices?
LL
LL le 26 Nov 2021
Maybe 0
you could replace the cells in the existing cell array:
out(~idx) = {0};
or create a new cell array:
new = num2cell(idx);
new(idx) = out(idx)
LL
LL le 29 Nov 2021
@Stephen i still need your help pls.
I have one cell array like this one, what i like to do, is to merge the contents of neighboring cells, other than zero.
Stephen23
Stephen23 le 29 Nov 2021
@Lidia Frizzi: please show the expected result of that "merging".
LL
LL le 29 Nov 2021
So for example in the rows 6-7 and colums 8-9 i have three cells not empty the result that i would like to obtain is like this.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Types dans Centre d'aide et File Exchange

Question posée :

LL
le 23 Nov 2021

Commenté :

LL
le 29 Nov 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by