Filter löschen
Filter löschen

loop;multi;ncread;getvar

2 Ansichten (letzte 30 Tage)
daniel alves
daniel alves am 24 Okt. 2016
Kommentiert: Jake_K am 27 Feb. 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

Antworten (1)

KSSV
KSSV am 25 Okt. 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 Kommentare
KSSV
KSSV am 26 Okt. 2016
Bearbeitet: KSSV am 26 Okt. 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 am 27 Feb. 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');

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Agriculture finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by