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.

 采纳的回答

Where out is your cell array:
fnh = @(v) any(v(:)==1)&&any(v(:)==2);
idx = cellfun(fnh,out)

12 个评论

It gave me error of invalid expression for the fnh line.
@Lidia Frizzi: fixed now, please try it again.
it works thank you!!!!
@Stephen sorry could i please ask you, how can i find all the cell without the number 2?
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?
What should the output array contain for the false indices?
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)
@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.
@Lidia Frizzi: please show the expected result of that "merging".
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.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Data Types 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by