MATLAB Answers

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

106 views (last 30 days)
AXL
AXL on 11 Nov 2017
Answered: AXL on 12 Nov 2017
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é

  0 Comments

Sign in to comment.

Accepted Answer

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

  0 Comments

Sign in to comment.

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
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.