NetCDF API 構文の MATLAB 構文へのマッピング
MATLAB® では、netcdf
という名前の名前空間にグループ化されている一連の低水準関数を使用して netCDF C ライブラリ内の関数にアクセスできます。この名前空間の関数を使用して netCDF ファイルに対し、データの読み取りと書き込みを行います。MATLAB netCDF 関数を効果的に使用するには、netCDF インターフェイスに関する知識が必要です。
通常、netcdf
名前空間内の MATLAB 関数は、netCDF C ライブラリ内のルーチンにちょうど対応しています。たとえば、MATLAB の関数 netcdf.open
は netCDF ライブラリの関数 nc_open
に相当します。場合によっては、1 つの MATLAB 関数が netCDF ライブラリ関数の 1 つのグループに対応することもあります。たとえば、netCDF ライブラリの関数 nc_put_att_
(type
type
はデータ型を表す) すべてに MATLAB の対応バージョンを作成する代わりに、MATLAB では 1 つの関数 netcdf.putAtt
を使用してサポートされるすべてのデータ型を扱います。
netcdf
名前空間内のいずれかの関数を呼び出すには、関数名の前に名前空間を指定しなければなりません。MATLAB 関数の構文は netCDF ライブラリの関数の構文と同様です。ただし、netCDF C ライブラリの関数では入力パラメーターを使用してデータを返しますが、対応する MATLAB の関数では 1 つ以上の戻り値を使用します。たとえば、次は netCDF ライブラリ内の関数 nc_open
の関数シグネチャです。
int nc_open (const char *path, int omode, int *ncidp); /* C syntax */
netCDF のファイル識別子は ncidp
引数で返されます。
これは、対応する MATLAB 関数 netcdf.open
のシグネチャです。
ncid = netcdf.open(filename,mode)
netCDF C ライブラリ側のものと同様、MATLAB の netCDF 関数は、ファイル名とアクセス モードを指定する定数とを受け入れます。ただし、MATLAB の関数 netcdf.open
では、ファイル識別子 ncid
が戻り値として返されます。
MATLAB netCDF 関数では、netCDF のデータ型に最も一致する MATLAB クラスが自動的に選択されます。以下の表は既定のマッピングです。
NetCDF データ型 | MATLAB クラス |
---|---|
NC_DOUBLE | double |
NC_FLOAT | single |
NC_INT64 (NetCDF-4 ファイルのみ) | int64 |
NC_UINT64 (NetCDF-4 ファイルのみ) | uint64 |
NC_INT | int32 |
NC_UINT (NetCDF-4 ファイルのみ) | uint32 |
NC_SHORT | int16 |
NC_USHORT (NetCDF-4 ファイルのみ) | uint16 |
NC_BYTE | int8 |
NC_UBYTE (NetCDF-4 ファイルのみ) | uint8 |
NC_CHAR | char |
NC_STRING (NetCDF-4 ファイルのみ) | string |
ユーザー定義の NC_VLEN 型 (NetCDF-4 ファイルのみ) | cell |
関数 netcdf.getVar
のオプションの引数を使用して既定値をオーバーライドし、返されたデータのクラスを指定できます。