我有一些相同維度的氣候數據文件(netcdf)。Matlab遍歷文件夾中的文件,並檢查文件名是否具有特定字符
例如: agg_humidity_bc_historical_1980_2001.nc
agg_humidity_bc_future_2020_2040.nc
agg_wind_bc_historical_1980_2001.nc
agg_precipitation_bc_future_2020_2040.nc
.....
我有一個計劃MATLAB從中提取特定的數據點每一個文件。我想迭代所有文件,檢查文件名中的變量名,例如溼度,風,降水等,並根據變量提取數據。然後我想存儲這些提取的值與NC文件同名到CSV文件,如:
agg_humidity_bc_future_2020_2040.csv
agg_wind_bc_historical_1980_2001.csv
agg_precipitation_bc_future_2020_2040.csv
這裏是我現在有的代碼。
mkdir test
data=dir('*.nc');
for i=1:length(data)
ncFile=data(i).name
??? How to check which variable is in the ncFile?
%%Got the index of the location of
LonInd=22;
LatInd=10;
if variable=humidity
SH=ncread(ncFile,'humidity',[LonInd, LatInd, 1], [1 1 inf]);
SH=squeeze(SH);
fid = fopen(['test\' ncFile.csv],'w');
fprintf(fid,%d,SH)
else if variable=wind
wind=ncread(ncFile,'wind',[LonInd, LatInd, 1], [1 1 inf]);
wind=squeeze(wind);
fid = fopen(['test\' ncFile.csv],'w');
fprintf(fid,%d,wind)
fid = fclose(fid);
fid = fclose(fid);
else if variable=wind
precipitation=ncread(ncFile,'precipitation',[LonInd, LatInd, 1], [1 1 inf]);
precipitation=squeeze(precipitation);
fid = fopen(['test\' ncFile.csv],'w');
fprintf(fid,%d,precipitation)
fid = fclose(fid);
end
任何人都可以幫我完成這段代碼嗎?
感謝
http://www.mathworks.com/help/matlab/ref/regexp.html – user3528438