How to find the maximum length in a structure of vectors?

20 visualizzazioni (ultimi 30 giorni)
I have a struct, fem. One of its field is a cell (fem.Element) and I want to find the maximum length of fem.Element.
Thanks in advance, André

Risposta accettata

AXL
AXL il 12 Nov 2017
I solved using this: max(cellfun(@length,fem.Element);

Più risposte (1)

Precise Simulation
Precise Simulation il 12 Nov 2017
If by "maximum length" you mean the number of struct entries, then you can just use one of the standard length, numel, or size commands
length(fem)
numel(fem)
size(fem)
If you mean the maximum value in each struct entry you could use something like
mx_all = cellfun(@max,struct2cell(fem))
mx = max(mx_all(:))
  2 Commenti
AXL
AXL il 12 Nov 2017
Modificato: AXL il 12 Nov 2017
I mean the maximum length in one struct field. I can use this because not all the fields are struct and I get the message:
% Non-scalar in Uniform output, at index 3, output 1. Set 'UniformOutput' to false.
AXL
AXL il 12 Nov 2017
I solved it using this: max(cellfun(@length,fem.Element);
But really thanks! I'm not used to work with cells.

Accedi per commentare.

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by