複数ファイルを開く方法
    5 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Hiroki Takeda
 am 27 Apr. 2022
  
    
    
    
    
    Kommentiert: Hiroki Takeda
 am 29 Apr. 2022
            *.ncというnetCDF形式のデータが複数あり,ファイル名が様々です。
F_name=dir('*.nc');
でファイル名は取得しています。
これら複数のデータから,変数名chlor_a(4320×2160)を取り出して処理をすることを考えています。
とりあえず、ncreadで1つのファイルをベタ打ちで開いています。
ご教示くださりますと幸いです。よろしくお願いいたします。
clear; close;
F_name=dir('../data/Chlo/*.nc');
varname1 = 'chlor_a';varname2 = 'lon';varname3 = 'lat';
chlo=ncread('../data/Chlo/A20021822002212.L3m_MO_CHL_chlor_a_9km.nc',varname1);
lon=ncread('../data/Chlo/A20021822002212.L3m_MO_CHL_chlor_a_9km.nc',varname2);
lat=ncread('../data/Chlo/A20021822002212.L3m_MO_CHL_chlor_a_9km.nc',varname3);
lon=repmat(lon,1,size(lat,1));lat=repmat(lat',size(lon,1),1);
mvar_all = chlo;
0 Kommentare
Akzeptierte Antwort
  Hernia Baby
      
 am 27 Apr. 2022
        構造体から抽出して繰り返しています
clear; close;
F_name=dir('../data/Chlo/*.nc');
varname1 = 'chlor_a';varname2 = 'lon';varname3 = 'lat';
ここでF_nameは構造体ですので F_name(1).name のようにしてデータを取り出します
for文でデータ分繰り返しましょう
for ii = 1:height(F_name)
    filename = fullfile(F_name(ii).folder,F_name(ii).name);
    chlo=ncread(filename,varname1);
    lon=ncread(filename,varname2);
    lat=ncread(filename,varname3);
    lon1{ii}=repmat(lon,1,size(lat,1));
    lat1{ii}=repmat(lat',size(lon,1),1);
    mvar_all{ii} = chlo;
end
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu NetCDF finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!