メインコンテンツ

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_DOUBLE"double
    "NC_FLOAT"single
    "NC_INT"int32
    "NC_SHORT"int16
    "NC_BYTE"int8
    "NC_CHAR"char
    "NC_INT64" (*)int64
    "NC_UINT64" (*)uint64
    "NC_UINT" (*)uint32
    "NC_USHORT" (*)uint16
    "NC_UBYTE" (*)uint8
    "NC_STRING" (*)string

    (*) これらの xtype の値は netcdf4 形式のソースでのみ有効です。

    xtype は、netcdf.getConstant 関数によって返された数値として指定できます。

    MATLAB cell 配列に対応するユーザー定義の NC_VLEN 型の属性の場合、netcdf.defVlen 関数によって返された数値として xtype を指定できます。

  • 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 で示される順序の逆順で次元を示すため、結果として転置されて表示されます。

バージョン履歴

すべて展開する