assignment string values corresponding to index from cell array

3 views (last 30 days)
Please have a look to the following code, how can I assign string values corresponding to the index (ind_logical) from cell (files) in to the new cell (filesout). Thanks
Files = dir(fullfile(pth, ncfiles));
files = arrayfun(@(X) fullfile(pth, X.name), Files, 'uni', 0);
%
% Format latlim,lonlim:
% Wrap longitudes to 180:
latlim = [41 48]; lonlim = [27 48];
lonlim(lonlim>180) = lonlim(lonlim>180)-360;
% If two elements are input, assume user wants floats bound by geoquad:
if numel(latlim)==2
latv = [latlim(1) latlim(1) latlim(2) latlim(2)];
lonv = [lonlim(1) lonlim(2) lonlim(2) lonlim(1)];
else
latv = latlim;
lonv = lonlim;
end
% Initialize arrays that we'll try to populate:
filesout = {};
latout = [];
lonout = [];
for lf = 1 : length(files)
%try
filename = files{lf,1};
lat = ncread(filename,'LATITUDE');
lon = ncread(filename,'LONGITUDE');
[inpoly,onpoly] = inpolygon(lon,lat,lonv,latv);
[inpoly,onpoly] = inpolygon(lon,lat,lonv,latv);
inpoly = inpoly+onpoly;
ind = inpoly; ind_logical = logical(ind);
latout = [latout;lat(ind_logical)];
lonout = [lonout;lon(ind_logical)];
%filesout = [filesout;files(ind_logical)];
%filesout = arrayfun(@(x) x , files(ind_logical), 'UniformOutput', false);
%end
end
  4 Comments
Guillaume
Guillaume on 30 Jan 2020
What are the desired parameters? If it's latout and lonout, you already have got these. If it's something else, please clarify.
Farshid Daryabor
Farshid Daryabor on 30 Jan 2020
From the 'nc' file listed in 'files' shown as form of cell array, I want to find The desired values, such as temperature, salinity, pressure from the each netcdf file based on the desired longitude and latitude, since the values in each '.nc file' are corresponding to the one longitude and latitude. The all netcdf files listed in files are global data (ARGO profile).

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!