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

19 views (last 30 days)
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é

Accepted Answer

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

More Answers (1)

Precise Simulation
Precise Simulation on 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 Comments
AXL
AXL on 12 Nov 2017
Edited: AXL on 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 on 12 Nov 2017
I solved it using this: max(cellfun(@length,fem.Element);
But really thanks! I'm not used to work with cells.

Sign in to comment.

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!