Main Content

低水準関数による 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)

参考

| | | | |

外部の Web サイト