Main Content

低水準関数による CDF ファイルのインポート

この例では、低水準関数を使用して CDF ファイルからデータを読み取る方法を説明します。MATLAB® の CDF 低水準関数は CDF C API ライブラリのルーチンに対応しています。MATLAB の CDF 低水準関数を効果的に使用するには、CDF C インターフェイスについて理解していなければなりません。

CDF ファイルを開く

サンプルの CDF ファイル example.cdf を開きます。

cdfid = cdflib.open('example.cdf');

ファイル内容の情報の取得

cdflib.inquire を使用して、ファイル内の変数の数、グローバル属性の数および変数スコープをもつ属性の数に関する情報を取得します。

info = cdflib.inquire(cdfid)
info = struct with fields:
     encoding: 'IBMPC_ENCODING'
     majority: 'ROW_MAJOR'
       maxRec: 23
      numVars: 6
    numvAttrs: 1
    numgAttrs: 3

変数の情報の取得

cdflib.inqurieVar を使用してファイル内の個々の変数についての情報を取得します。変数の ID 番号はゼロから始まります。

info  = cdflib.inquireVar(cdfid,0)
info = struct with fields:
           name: 'Time'
       datatype: 'cdf_epoch'
    numElements: 1
           dims: []
    recVariance: 1
    dimVariance: []

info  = cdflib.inquireVar(cdfid,1)
info = struct with fields:
           name: 'Longitude'
       datatype: 'cdf_int1'
    numElements: 1
           dims: [2 2]
    recVariance: 0
    dimVariance: [1 0]

ワークスペースへの変数データの読み取り

変数のデータを MATLAB ワークスペースに読み取ります。第 1 変数には CDF エポック時間値が含まれています。低水準のインターフェイスによって、これらが 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);

参考

|

外部の Web サイト