Main Content

netcdf.defVar

netCDF 変数を作成する

構文

varid = netcdf.defVar(ncid,varname,xtype,dimids)

説明

varid = netcdf.defVar(ncid,varname,xtype,dimids) は、ncid によって識別されるデータ セット内に新しい変数を作成します。

  • varname は、変数名を指定する文字ベクトルまたは string スカラーです。

  • xtype は、次の値のいずれかを使用して変数の NetCDF データ型を指定します。

    xtype の値MATLAB® クラス
    NC_DOUBLEdouble
    NC_FLOATsingle
    NC_INT64 (NetCDF-4 ファイルのみ)int64
    NC_UINT64 (NetCDF-4 ファイルのみ)uint64
    NC_INTint32
    NC_UINT (NetCDF-4 ファイルのみ)uint32
    NC_SHORTint16
    NC_USHORT (NetCDF-4 ファイルのみ)uint16
    NC_BYTEint8
    NC_UBYTE (NetCDF-4 ファイルのみ)uint8
    NC_CHARchar
    NC_STRING (NetCDF-4 ファイルのみ)string

    あるいは、xtype を関数 netcdf.getConstant から返された等価な数値にすることもできます。ユーザー定義の NC_VLEN 型の場合は、xtype を関数 netcdf.defVlen から返された数値にすることも可能です。NC_VLEN 型は cell 配列に対応します。

  • dimids は、次元 ID のリストを指定します。

  • 関数 netcdf.defVar は、新しい変数の数値識別子 varid を返します。

この関数は、NetCDF ライブラリ C API の関数 nc_def_var に相当します。MATLAB は FORTRAN スタイルの順序付けを使用するため、変化の最も速い次元が 1 番目に、最も遅い次元が最後になります。そのため、制限のない次元は、次元 ID のリストの最後になります。この順序は、C API での順序と逆です。この関数を使用するには、NetCDF プログラミング パラダイムに関する知識が必要です。

すべて折りたたむ

新しい NetCDF ファイルを作成してファイルで次元を定義し、その次元に変数を定義します。NetCDF ファイルでは、変数を作成する前に次元を作成しなければなりません。この例を実行するには、現在のフォルダーへの書き込み権限が必要です。

foo.nc という名前の新しい NetCDF ファイルを作成します。

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

新しいファイルで次元を定義します。

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

netcdf.defVar を使用して新しいファイルに変数を定義します。

varid = netcdf.defVar(ncid,'myvar','NC_DOUBLE',dimid)
varid = 0

netcdf.defVar は、新しい変数の数値識別子を返します。

ファイルを閉じます。

netcdf.close(ncid)

ヒント

  • MATLAB は多次元データを列優先として解釈しますが、netCDF C API は多次元データを行優先として解釈します。netCDF C API の多次元データは、MATLAB で示される順序の逆順で次元を示すため、結果として転置されて表示されます。

バージョン履歴

すべて展開する