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.defGrp によって返されるような 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);

バージョン履歴

R2008b で導入

すべて展開する