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

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

I solved using this: max(cellfun(@length,fem.Element);

More Answers (1)

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

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

Asked:

AXL
on 11 Nov 2017

Answered:

AXL
on 12 Nov 2017

Community Treasure Hunt

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

Start Hunting!