Trouble displaying single value of a structured array
Show older comments
Within the Command Window, I've first loaded global coastline by
load('ocean_coast.mat')
The fields are 'area','Lat','Lon','BoundingBox','id' & 'level'. The array length is 179837.
When I try to look at just one value, for example, by fprintf('Lat %2f \n',ocean_coast(1).Lat), I get all of the latitudes. I've tried with 'disp' also.
I haven't tried the smaller data set of lake coast data yet.
What is it that I'm doing wrong? Do I need to filter by size?
5 Comments
Stephen23
on 22 Jun 2023
Please show the output of this command:
whos ocean_coast
BobG
on 23 Jun 2023
Stephen23
on 23 Jun 2023
Please show the output of these commands:
A = ocean_coast(1).Lat;
whos A
BobG
on 23 Jun 2023
James Tursa
on 24 Jun 2023
That's a vector of many values. So if you only want to look at the first value, e.g.,
ocean_coast(1).Lat(1)
Answers (1)
Hi Chandra,
I understand that you want to display single value of structured array.
A possible workaround be finding the size of the values of field “Lat”. Since you are getting all the “Lat” values so there may be multiple “Lat” values at that index.
You need to first find out the size of the field and try to access the data of that field.
You can try following MATLAB code to find size.
load('ocean_coast.mat');
length(ocean_coast(1).Lat);
disp(ocean_coast(1).Lat(1));
Thanks
Sachin
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!