Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

cdfwrite

(不推荐)将数据写入常用数据格式 (CDF) 文件

不推荐使用 cdfwrite改用 cdflib 低级函数。

语法

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

说明

cdfwrite(filename,variablelist) 将常用数据格式 (CDF) 文件输出到 filename 指示的文件名中。以字符向量或字符串标量形式指定 filenamevariablelist 参数是一个由有序对组构成的元胞数组,每个对组包含一个 CDF 变量名称(指定为字符向量或字符串标量)和对应的 CDF 变量值。要输出变量的多个记录,请将值放置到一个元胞数组中,元胞数组中的每个元素表示一个记录。

注意

由于 cdfwrite 将创建临时文件,因此文件的目标目录和当前工作目录必须是可写的。

cdfwrite(...,'PadValues',padvals) 输出给定变量名称的填充值。padvals 是一个由有序对组构成的元胞数组,每个对组包含一个变量名称(指定为字符向量或字符串标量)和对应的填充值。当访问范围之外的记录时,填充值是与变量关联的默认值。显示于 padvals 中的变量名称必须显示于 variablelist 中。

cdfwrite(...,'GlobalAttributes',gattrib) 将结构体 gattrib 以 CDF 文件的全局元数据形式写入。结构体的每个字段是全局属性的名称。每个字段的值包含属性的值。要输出属性的多个值,请将值放置到一个元胞数组中,元胞数组中的每个元素表示一个记录。

注意

要指定 MATLAB® 应用程序中无效的全局属性名称,请在属性结构体中创建一个名为 'CDFAttributeRename' 的字段。此字段的值必须是一个由有序对组构成的元胞数组。有序对组包含 GlobalAttributes 结构体中列出的原始属性的名称,以及要写入到 CDF 文件的属性的对应名称。

cdfwrite(...,'VariableAttributes',vattrib) 将结构体 vattrib 以 CDF 文件的变量元数据形式写入。结构体的每个字段是变量属性的名称。每个字段的值应为 M×2 元胞数组,其中 M 是具有属性的变量数。元胞数组中的第一个元素应为变量的名称,第二个元素应为该变量的属性的值。

注意

要指定 MATLAB 中非法的变量属性名称,请在属性结构体中创建一个名为 'CDFAttributeRename' 的字段。此字段的值必须是一个由有序对组构成的元胞数组。有序对组包含 VariableAttributes 结构体中列出的原始属性的名称,以及要写入到 CDF 文件的属性的对应名称。如果您指定要重命名的 CDF 变量的属性,则 VariableAttributes 结构体中变量的名称必须与重命名的变量的名称相同。

cdfwrite(...,'WriteMode',mode),其中 mode'overwrite''append',指示在 CDF 文件已存在的情况下是否应将指定的变量追加到该文件的末尾。默认情况下,cdfwrite 会覆盖现有的变量和属性。

cdfwrite(...,'Format',format),其中 format'multifile''singlefile',指示是否将数据输出为多文件 CDF 文件。在多文件 CDF 文件中,每个变量存储于名为 *.vN 的一个单独文件中,其中 N 是将输出到 CDF 文件的变量数。默认情况下,cdfwrite 输出一个单文件 CDF 文件。当 'WriteMode' 设置为 'Append' 时,'Format' 选项将被忽略并使用预先存在的 CDF 文件的格式。

示例

输出文件 'example.cdf',其中包含值为 [0:360] 的变量 'Longitude'

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

输出文件 'example.cdf',其中包含变量 'Longitude''Latitude' 以及对所访问的所有范围之外的记录使用填充值 10 的变量 'Latitude'

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

输出文件 'example.cdf',其中包含值为 [0:360] 的变量 'Longitude' 以及值为 10 的变量属性 'validmin'

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

局限性

  • CDF 文件不支持采用非 ASCII 字符编码的输入。变量名称、属性名称、变量值和属性值必须采用 7 位 ASCII 编码。尝试写入采用非 ASCII 字符编码的输入将发生错误或者导致数据中包含损坏的字符。

版本历史记录

在 R2006a 之前推出

另请参阅

|