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
指示的文件名中。以字符向量或字符串标量形式指定 filename
。variablelist
参数是一个由有序对组构成的元胞数组,每个对组包含一个 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 之前推出