Main Content

netcdf.getVar

netCDF 変数からデータを読み取る

構文

data = netcdf.getVar(ncid,varid)
data = netcdf.getVar(ncid,varid,start)
data = netcdf.getVar(ncid,varid,start,count)
data = netcdf.getVar(ncid,varid,start,count,stride)
data = netcdf.getVar(___,output_type)

説明

data = netcdf.getVar(ncid,varid) は、varid で指定された変数の値 data を返します。ncid は、netcdf.create または netcdf.open によって返される NetCDF ファイル識別子です。返される値 data は、varid で指定された変数の NetCDF データ型に最良に適合する MATLAB® データ型の値です。MATLAB による最良の適合の判別方法の詳細については、詳細を参照してください。

メモ

varid で指定された変数が NC_STRING 型の場合、UTF-8 エンコード文字を含めることができます。varid で指定された変数が NC_CHAR 型の場合、ASCII エンコード文字のみを含めることができます。

data = netcdf.getVar(ncid,varid,start)は、指定したインデックス start で始まる単一の値を読み込みます。

data = netcdf.getVar(ncid,varid,start,count) は連続した変数のセクションを返します。start は始点を指定し、count は戻り値の量を指定します。

data = netcdf.getVar(ncid,varid,start,count,stride) は変数セクションのサブセットを返します。start は始点を、count はセクションの範囲を、stride は戻り値を指定します。

data = netcdf.getVar(___,output_type) は戻り値 data のデータ型を指定します。output_type は次の値のいずれかとして指定します。

  • "double"

  • "single"

  • "int64"

  • "uint64"

  • "int32"

  • "uint32"

  • "int16"

  • "uint16"

  • "int8"

  • "uint8"

  • "char"

この関数は、NetCDF ライブラリ C API のいくつかの関数に相当します。この関数を使用するには、NetCDF プログラミング パラダイムに関する知識が必要です。

すべて折りたたむ

サンプル ファイル example.nc を開きます。

ncid = netcdf.open('example.nc','NC_NOWRITE');

ファイルにある最初の変数の名前を取得します。

varname = netcdf.inqVar(ncid,0)
varname = 
'avagadros_number'

最初の変数の名前を使用して変数 ID を取得します。

varid = netcdf.inqVarID(ncid,varname)
varid = 0

変数の値を取得します。関数 netcdf.getVar への 2 番目の入力として変数 ID を使用します。

data = netcdf.getVar(ncid,varid)
data = 6.0221e+23

出力値のデータ型を表示します。

whos data
  Name      Size            Bytes  Class     Attributes

  data      1x1                 8  double              

出力データ型を single に指定して、変数 avogadros_number の値をもう一度取得します。

data = netcdf.getVar(ncid,varid,'single');

出力値のデータ型を表示します。

whos data
  Name      Size            Bytes  Class     Attributes

  data      1x1                 4  single              

NetCDF ファイルを閉じます。

netcdf.close(ncid)

詳細

すべて折りたたむ

NetCDF から MATLAB データ型への変換

オプションの入力 output_type が指定されていない場合、netcdf.getVar は、NetCDF データ型に最良に適合する MATLAB データ型を次の表に従って自動的に選択します。

NetCDF データ型MATLAB データ型
NC_DOUBLEdouble
NC_FLOATsingle
NC_INTint32
NC_SHORTint16
NC_BYTEint8
NC_CHARchar
NC_STRING (*)string
NC_INT64 (*)int64
NC_UINT64 (*)uint64
NC_UINT (*)uint32
NC_USHORT (*)uint16
NC_UBYTE (*)uint8
ユーザー定義の NC_VLEN 型 (*)cell

(*) これらの netCDF データ型は netcdf4 形式のファイルでのみ使用可能です。

ヒント

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

バージョン履歴

R2008b で導入

すべて展開する