Main Content

netcdf.putVar

netCDF 変数にデータを書き込みます。

構文

netcdf.putVar(ncid,varid,data)
netcdf.putVar(ncid,varid,start,data)
netcdf.putVar(ncid,varid,start,count,data)
netcdf.putVar(ncid,varid,start,count,stride,data)

説明

netcdf.putVar(ncid,varid,data) は、varid によって識別される netCDF 変数に data を書き込みます。

メモ

NC_CHAR 型の変数について、vardata は ASCII エンコード文字のみを含む必要があります。NetCDF-4 ファイルは、NC_STRING 型の変数で UTF-8 エンコード文字の書き込みをサポートしています。

ncid は、関数 netcdf.create または関数 netcdf.open によって返される netCDF ファイル識別子です。

netcdf.putVar(ncid,varid,start,data) は、単一のデータ値を start によって指定されるインデックスの変数に書き込みます。

netcdf.putVar(ncid,varid,start,count,data) は、ベクトル start で指定されるインデックスとベクトル count で指定される範囲の netCDF 変数に、指定された変数の各次元と一緒に値のセクションを書き込みます。

netcdf.putVar(ncid,varid,start,count,stride,data) は、インデックス start で始まる変数のセクションに値のサンプル間隔 stride で指定されるサブセクションを、count で指定される範囲に書き込みます。

この関数は、NetCDF ライブラリ C API のさまざまな変数の I/O 関数に相当します。この関数を使用するには、NetCDF プログラミング パラダイムに関する知識が必要です。

すべて折りたたむ

新しい netCDF ファイルを作成し、そのファイルに変数を書き込みます。

変数用に 50 要素のベクトルを作成します。

my_vardata = linspace(0,50,50);

netCDF ファイルを開きます。

ncid = netcdf.create('foo.nc','NOCLOBBER');

変数の次元を定義します。

dimid = netcdf.defDim(ncid,'my_dim',50);

ファイル内の新しい変数を定義します。

my_varID = netcdf.defVar(ncid,'my_var','NC_DOUBLE',dimid);

データを書き込むために定義モードを終了してデータ モードに入ります。

netcdf.endDef(ncid);

変数にデータを書き込みます。

netcdf.putVar(ncid,my_varID,my_vardata);

変数が作成されたことを確認します。

[varname xtype dimid natts ] = netcdf.inqVar(ncid,0)
varname = 
'my_var'
xtype = 6
dimid = 0
natts = 0

ファイルを閉じます。

netcdf.close(ncid)

例の temperature 変数の最初の 10 個の要素に書き込みます。

srcFile = fullfile(matlabroot,'toolbox','matlab','demos','example.nc');
copyfile(srcFile,'myfile.nc');
fileattrib('myfile.nc','+w');
ncid = netcdf.open('myfile.nc','WRITE');
varid = netcdf.inqVarID(ncid,'temperature');
data = [100:109];
netcdf.putVar(ncid,varid,0,10,data);
netcdf.close(ncid);