How do you extract the elements of a cell that have the largest length?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
L'O.G.
am 16 Mär. 2022
Beantwortet: David Hill
am 16 Mär. 2022
Given a cell A, I can find the maximum length by
[s,d] = cellfun(@size,A);
out = max([s,d]);
But how do I find the elements in A that have the length given by out? For example, given the cell array consisting of {[7 8 9]} {[6 10]} {[4 5 6 7]} {[1 2 3 4]}, extract {[4 5 6 7]} and {[1 2 3 4]}, which each have a length of 4.
0 Kommentare
Akzeptierte Antwort
Mathieu NOE
am 16 Mär. 2022
hello
here my suggestion
A = [{[7 8 9]} {[6 10]} {[4 5 6 7]'} {[1 2 3 4]'}];
[s,d] = cellfun(@size,A);
out = max([s,d],[],'all');
ind = find(d == out | s == out) ;
A_selected = A(ind)
0 Kommentare
Weitere Antworten (2)
Stephen23
am 16 Mär. 2022
C = {[7,8,9],[6,10],[4,5,6,7],[1,2,3,4]}
N = cellfun('length',C);
X = max(N)==N;
D = C(X)
0 Kommentare
David Hill
am 16 Mär. 2022
[s,d] = cellfun(@size,A);
m = max([s,d],[],'all');
idx=s==m|d==m;
Anew=A(idx);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!