loop;multi;ncread;getvar

조회 수: 8 (최근 30일)
daniel alves
daniel alves 2016년 10월 24일
댓글: Jake_K 2018년 2월 27일
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

답변 (1개)

KSSV
KSSV 2016년 10월 25일
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
KSSV
KSSV 2016년 10월 26일
편집: KSSV 2016년 10월 26일
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 2018년 2월 27일
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');

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Agriculture에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by