How to find an array within a cell array

I have a 5000x1 cell. I'm trying to find the cells that contain arrays.
below is an example of the rows in the cell, I'm trying to identify rows similar to row 651. As i wish to extract only these rows from the table

Antworten (3)

Walter Roberson
Walter Roberson am 22 Nov. 2017

0 Stimmen

cellfun(@iscell, YourCellArray)
is one possible interpretation. But remember that 'Peter ' is an array in MATLAB, so another interpretation would be
cellfun(@(C) length(C) > 1, YourCellArray)
To double check: is it correct that you would want to detect 'Peter ' because that is an array (a character vector), but that you would not want to detect "Peter " because MATLAB considers that a 1 x 1 string() object ?
Andrei Bobrov
Andrei Bobrov am 22 Nov. 2017
Bearbeitet: Andrei Bobrov am 22 Nov. 2017

0 Stimmen

out = celltime(cellfun(@(x)iscell(x) & numel(x) > 1 ,celltime));
Quintin De Lima
Quintin De Lima am 22 Nov. 2017
Bearbeitet: Quintin De Lima am 22 Nov. 2017

0 Stimmen

thank you. However i managed to solve the problem immediately after i posted this.
size_t = size(cell);
idx = zeros(size_t);
for c = 1:size_t
[m,n]= size(cell{c,1});
idx(c) = n;
end
new_ind = idx >=2;
anomolies = celltime(new_idx);

Kategorien

Produkte

Tags

Gefragt:

am 22 Nov. 2017

Bearbeitet:

am 22 Nov. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by