MATLAB: Extracting a field name from a cell array in a structure

find field name complicated structure

I am trying to extract a field from a cell array of varying sizes. For instance, if I have the following:
name1.name2.name3.name4{1.2}.name5
I want to locate name5, but the cell array is of an unknown and varying size and name5 could be in any cell. It could be:
name1.name2.name3.name4{1,10}.name5
name1.name2.name3.name4{1,8}.name5
name1.name2.name3.name4{1,1}.name5
How do I search for a known field name within a complicated structure such as this?
Thank you, Susie

Best Answer

A = name1.name2.name3.name4;
idx = find(cellfun(@isstruct,A));
i2 = cellfun(@(x)any(strcmp(x,'name5')),cellfun(@fieldnames,A(idx),'un',0));
idx = idx(i2);
out = A(idx)