Find largest array size in cell of many arrays

11 visualizzazioni (ultimi 30 giorni)
I have a cell each cell storing a different sized array. How do i find the largest width and height of all the arrays ?
I tried
size(test{:}(:,1,1))
test is my cell. so meaning for all test, find the size of (:,1,1). But it is wrong of coz so help me thanks.
Like
cell{1} = 10x10 uint8
cell{2} = 10x11
cell{3} = 5x99
so
min_size_of_cell_array(cell{:}) = 5,10
like that
  1 Commento
Stephen23
Stephen23 il 17 Giu 2016
Have a look at cellfun: it has some handy features that you can use:
>> C{1} = NaN(10,10);
>> C{2} = zeros(10,11);
>> C{3} = ones(5,99);
>> cellfun('size',C,1) % rows
ans =
10 10 5
>> cellfun('size',C,2) % columns
ans =
10 11 99

Accedi per commentare.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 17 Giu 2016
C = arrayfun(@(x)rand(randi([1 20],1,2)),(1:8)','un',0);% example
[s,d] = cellfun(@size,C);
out = max([s,d]);
  2 Commenti
RuiQi
RuiQi il 17 Giu 2016
Thanks ! The cellfun is really useful !
Avik Mahata
Avik Mahata il 13 Gen 2019
How do I convert the maximum cellarray to matrix after identifying the particular cell array?

Accedi per commentare.

Più risposte (1)

shashmitha lakshmi
shashmitha lakshmi il 16 Gen 2020
How to find the maxmimum length array between two arrays
  1 Commento
Image Analyst
Image Analyst il 17 Gen 2020
Try this:
% Create our data, a cell array of vectors of random lengths.
for k = 1 : 100
thisLength = randi(50); % Anywhere from 1 to 50.
ca{k} = rand(1, thisLength); % Create row vector of this length.
end
% Now that data has been created,
% find the lengths of all the elements.
allLengths = cellfun(@length, ca)
% Now find the longest vector between element 15 and 35 (for example)
maxLength = max(allLengths(15:35))

Accedi per commentare.

Categorie

Scopri di più su Cell Arrays in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by