低水準関数による CDF ファイルのインポート
この例では、低水準関数を使用して CDF ファイルからデータを読み取ります。MATLAB® CDF 低水準関数は、CDF C API ライブラリのルーチンに相当します。MATLAB の CDF 低水準関数を効果的に使用するには、CDF C インターフェイスについて理解していなければなりません。
CDF ファイルを開く
サンプルの CDF ファイルを開きます。
cdfid = cdflib.open("example_364.cdf");
ファイル内容の情報の取得
cdflib.inquire
を使用して、ファイル内の変数の数、グローバル属性の数および変数スコープをもつ属性の数に関する情報を取得します。
globalInfo = cdflib.inquire(cdfid)
globalInfo = struct with fields:
encoding: 'IBMPC_ENCODING'
majority: 'ROW_MAJOR'
maxRec: 23
numVars: 8
numvAttrs: 3
numgAttrs: 5
変数の情報の取得
cdflib.inquireVar
を使用してファイル内の個々の変数についての情報を取得します。変数の ID 番号はゼロから始まります。
var0Info = cdflib.inquireVar(cdfid,0)
var0Info = struct with fields:
name: 'Time'
datatype: 'cdf_epoch'
numElements: 1
dims: []
recVariance: 1
dimVariance: []
var1Info = cdflib.inquireVar(cdfid,1)
var1Info = struct with fields:
name: 'Longitude'
datatype: 'cdf_int1'
numElements: 1
dims: [2 2]
recVariance: 0
dimVariance: [1 0]
ワークスペースへの変数データの読み取り
変数のデータを MATLAB ワークスペースに読み取ります。第 1 変数には CDF_EPOCH
時間値が含まれています。低水準のインターフェイスによって、これらの値が double
型として返されます。
data_time = cdflib.getVarRecordData(cdfid,0,0)
data_time = 6.3146e+13
時間値を日付ベクトルに変換します。
timeVec = cdflib.epochBreakdown(data_time)
timeVec = 7×1
2001
1
1
0
0
0
0
ファイルからのグローバル属性の読み取り
CDF ファイル内のグローバルな属性を判定します。
info = cdflib.inquireAttr(cdfid,0)
info = struct with fields:
name: 'SampleAttribute'
scope: 'GLOBAL_SCOPE'
maxgEntry: 4
maxEntry: -1
属性の値を読み取ります。グローバル属性には関数 cdflib.getAttrgEntry
を使用しなければなりません。
value = cdflib.getAttrgEntry(cdfid,0,0)
value = 'This is a sample entry.'
CDF ファイルを閉じる
cdflib.close
を使用して CDF ファイルを閉じます。
cdflib.close(cdfid)
参考
cdflib.close
| cdflib.getAttrgEntry
| cdflib.getVarRecordData
| cdflib.inquireAttr
| cdflib.inquireVar
| cdflib.open