如何使用MATLAB中的循环从我的目录中读取文件

时间:2017-11-08 20:13:28

标签: matlab file loops plot directory

我的工作目录中有120个.nc文件。我需要从中提取lat,lon和百分比变量以创建动画。我有:

percice = ncread('g4.subsetted.NOBM_MON_R2017_ice.20050801.90W_49N_-0E_72N.nc','NOBM_MON_R2017_ice');

lat = ncread('g4.subsetted.NOBM_MON_R2017_ice.20050801.90W_49N_-0E_72N.nc','lat');

lon = ncread('g4.subsetted.NOBM_MON_R2017_ice.20050801.90W_49N_-0E_72N.nc','lon');

imagesc(lon,lat,log10(percice));

然后我需要用imagesc绘制图像。我的所有.nc文件都是相同的名称,除了每月上升的日期(20050801,20050901,2005001001等)。

如何使用循环来读取.nc文件中的信息,这样我就不需要单独输出每个文件了?

1 个答案:

答案 0 :(得分:0)

非常简单直接:

files = dir('**/*.nc'); %read all files with .nc ending
filename=strcat({files.folder},filesep,{files.name})'; %creates filenames with folder+filename

for i=1:length(filename)
    percice(i) = ncread(filename{i},'NOBM_MON_R2017_ice');
    lat(i) = ncread(filename{i},'lat');
    lon(i) = ncread(filename{i},'lon');
end

imagesc(lon,lat,log10(percice));