Main Content

cdfwrite

(非推奨) CDF (Common Data Format) ファイルへのデータの書き込み

cdfwrite は推奨されません。代わりに低水準関数 cdflib を使用してください。

構文

cdfwrite(filename,variablelist)
cdfwrite(...,'PadValues',padvals)
cdfwrite(...,'GlobalAttributes',gattrib)
cdfwrite(...,'VariableAttributes',vattrib)
cdfwrite(...,'WriteMode',mode)
cdfwrite(...,'Format',format)

説明

cdfwrite(filename,variablelist) は、filename で指定された名前をもつ CDF (Common Data Format) ファイルに書き込みます。filename は文字ベクトルまたは string スカラーとして指定します。引数 variablelist は順序対からなる 1 つの cell 配列で、個々の対は CDF 変数名 (文字ベクトルまたは string スカラーとして指定) と、対応する CDF 変数値で構成されます。1 つの変数に対して複数のレコードを書き込むには、1 つの cell 配列に値を配置します。ここでは、cell 配列の中の個々の要素が 1 つのレコードを表します。

メモ

cdfwrite は一時ファイルを作成するので、ファイルの出力先ディレクトリと現在の作業ディレクトリは両方とも、書き込み可能でなければなりません。

cdfwrite(...,'PadValues',padvals) は、指定された名前の変数に対して埋め込み値を書き込みます。padvals は順序対からなる 1 つの cell 配列で、個々の対は変数名 (文字ベクトルまたは string スカラーとして指定) と、対応する埋め込み値で構成されます。pad 値は、範囲外のレコードがアクセスされる場合に備え、変数に関連付けておく既定値です。padvals に現れる変数名は、variablelist でも指定されていなければなりません。

cdfwrite(...,'GlobalAttributes',gattrib) は、CDF ファイル用のグローバル メタデータとして構造体 gattrib を書き込みます。この構造体の各フィールドは、グローバル属性の名前になっています。各フィールドの値は、属性の値を含みます。1 つの属性に対して複数の値を書き込むには、1 つの cell 配列に値を配置します。ここでは、cell 配列の中の個々の要素が 1 つのレコードを表します。

メモ

MATLAB® アプリケーションで無効なグローバル属性名を指定するには、属性の構造体に 'CDFAttributeRename' という名前のフィールドを作成します。このフィールドの値は、順序対からなる 1 つの cell 配列である値としておかなければなりません。順序対は、GlobalAttributes 構造体でリストされる場合の元の属性名と、CDF ファイルに書き込まれる対応する属性名で構成されます。

cdfwrite(...,'VariableAttributes',vattrib) は、CDF 用の変数メタデータとして構造体 vattrib を書き込みます。この構造体の各フィールドは、変数の属性名です。各フィールドの値は、M 行 2 列の cell 配列とする必要があり、ここで M は 属性をもつ変数の数です。cell 配列の最初の要素は、変数名で、2 番目の要素は、変数に対する属性の値である必要があります。

メモ

MATLAB で無効となる変数属性名を指定するには、属性の構造体に 'CDFAttributeRename' という名前のフィールドを作成します。このフィールドの値は、順序対からなる 1 つの cell 配列である値としておかなければなりません。順序対は、VariableAttributes 構造体でリストされる場合の元の属性名と、CDF ファイルに書き込まれる対応する属性名で構成されます。名前を変更しようとする CDF 変数の変数属性を指定する場合には、VariableAttributes 構造体に含まれる変数の名前を、変更後の変数名と同じにしておかなければなりません。

cdfwrite(...,'WriteMode',mode) は、CDF ファイルが既に存在する場合に、指定された変数をファイルに追加する必要があるかどうかを設定します。ここで mode が取りうる値は、'overwrite' または 'append' のいずれかです。既定の設定では、cdfwrite は既存の変数と属性を書き換えます。

cdfwrite(...,'Format',format) は、データをマルチファイルの CDF として書き込むかどうかを設定します。ここで format が取りうる値は、'multifile' または 'singlefile' のいずれかです。マルチファイルの CDF では、個々の変数が *.vN という名前の独立したファイルに保存されます。ここで N は、CDF に書き込まれる変数の数です。既定の設定では、cdfwrite は単一ファイルの CDF に書き込みます。'WriteMode''Append' に設定されている場合、'Format' オプションは無視され、既存の CDF の形式が使用されます。

値が [0:360] である変数 'Longitude' を含むファイル 'example.cdf' に書き込みます。

cdfwrite('example', {'Longitude', 0:360});

変数 'Longitude' および 'Latitude' を含み、変数 'Latitude' には範囲外でアクセスされるすべてのレコード用に pad 値 10 を設定したファイル 'example.cdf' に書き込みます。

cdfwrite('example', {'Longitude', 0:360, 'Latitude', 10:20}, ...
         'PadValues', {'Latitude', 10});

値が [0:360] である変数 'Longitude' を含み、変数属性 'validmin' に値 10 を設定したファイル 'example.cdf' に書き込みます。

varAttribStruct.validmin = {'Longitude' [10]};
cdfwrite('example', {'Longitude' 0:360}, 'VariableAttributes', ...
         varAttribStruct);

制限

  • CDF ファイルは ASCII エンコード以外の入力をサポートしません。変数名、属性名、変数値および属性値は 7 ビット ASCII エンコードでなければなりません。ASCII エンコード以外の入力を書き込もうとすると、エラーまたはデータの文字化けが発生します。

バージョン履歴

R2006a より前に導入