Effacer les filtres
Effacer les filtres

loop;multi;ncread;getvar

2 vues (au cours des 30 derniers jours)
daniel alves
daniel alves le 24 Oct 2016
Commenté : Jake_K le 27 Fév 2018
Here's my issue Variable y=49 files, i want to create a tempdata for each y file (for y1 tempdata1).
for i=1:49 y[i]=files(i,:).name; tempdata[i]=netcdf.getVar(ncid,8); end
%%%%%%%
If that's not possible, i also have a variable - files(49x1)
i need a loop here, can't handput all files. tempdata[i]=ncread('each file from matrix file.nc','temperature');???
is that possible?
thanks

Réponses (1)

KSSV
KSSV le 25 Oct 2016
ncfiles = dir('*.nc'); % get all nc files in the folder
nfiles = length(ncfiles) ; % total number of files
% loop for each file
for K = 1 : nfiles
filename = ncfiles(K).name; %just the name
%%get the vairable you want from nc file
T = ncread(filename,'T') ; % doc ncread
%%Append the data where you want
end
  3 commentaires
KSSV
KSSV le 26 Oct 2016
Modifié(e) : KSSV le 26 Oct 2016
ncfiles = dir('*.nc'); % get all nc files in the folder
nfiles = length(ncfiles) ; % total number of files
T = cell(nfiles,1) ;
% loop for each file
for K = 1 : nfiles
filename = ncfiles(K).name; %just the name
%%get the vairable you want from nc file
T{K} = ncread(filename,'T') ; % doc ncread
%%Append the data where you want
end
You have to append T to a whole files matrix which initialized.I wrote it in comment. In the above code for all the files T is saved into cells.
Jake_K
Jake_K le 27 Fév 2018
For me this does not work. It only works if I have my matlab script or function in the same directory as my .nc-files.... I tried all kind of stuff, but never was successful ... I always get the following error
Error in P_tamsat (line 29)
T = ncread(filename,'rfe');

Connectez-vous pour commenter.

Catégories

En savoir plus sur Agriculture dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by