assignment string values corresponding to index from cell array
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Guillaume
le 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.
Réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!