複数ファイルを開く方法
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hiroki Takeda
le 27 Avr 2022
Commenté : Hiroki Takeda
le 29 Avr 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 commentaires
Réponse acceptée
Hernia Baby
le 27 Avr 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
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur NetCDF dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!