As far as i know there is no built in support for getting values or plotting nested structure arrays.
I recently uploaded my custom matlab functions in file exchange:
It is for plotting and getting values of large nested struct arrays and it applies to your problem.
clear spectrm
% create example struct array based on your explanation
for i = 1:10
spectrm(i,1).freq = i;
spectrm(i,1).hata_pathloss_L50(1).ant_rec = (1:3)*i;
spectrm(i,1).hata_pathloss_L50(2).ant_rec = (4:6)*i;
spectrm(i,1).hata_pathloss_L50(3).ant_rec = (7:9)*i;
end
% retreive struct array elements
freqs = getNestedField(spectrm,'freq');
losses = getNestedField(spectrm,'hata_pathloss_L50.ant_rec');
% use struct array plotter (you may also use "plot(freqs,losses)")
plotStructArray(spectrm,'hata_pathloss_L50.ant_rec',freqs);
% your data will be plotted in order of
% ht1.htr1, ht1.htr2, ht1.htr3, ht2.htr1, .... ht10.htr1, ht10.htr2,
% ht10.htr3
