assignment string values corresponding to index from cell array

1 次查看(过去 30 天)
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 个评论
Guillaume
Guillaume 2020-1-30
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 2020-1-30
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).

请先登录,再进行评论。

回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by