主要内容

cdfread

从CDF文件中读取数据

语法

数据= cdfread (文件名
数据= cdfread (文件名param1val1, param2, val2,…)
[data, info] = cdfread(文件名,……)

描述

数据= cdfread (文件名从指定的通用数据格式(CDF)文件中读取所有数据文件名.指定文件名作为字符向量或字符串标量。CDF数据集通常包含一组特定数据类型的变量,每个变量都有一组相关的记录。变量可以表示时间值,每个记录表示观测记录的特定时间。cdfread返回单元格数组中的所有数据,其中每列表示一个变量,每行表示与某个变量关联的记录。如果变量有不同数量的关联记录,cdfread使用在CDF文件中定义的填充值填充行以创建矩形单元格数组。

请注意

因为cdfread创建临时文件,当前工作目录必须是可写的。

数据= cdfread (文件名param1val1, param2, val2,…)从文件读取数据,其中param1param2,等等,可以是下表中列出的任何参数。

[data, info] = cdfread(文件名,……)中的CDF文件的详细信息信息结构。

参数 价值
“记录” 指定要读取哪些记录的向量。记录数字是零基础的。cdfread返回一个单元格数组,其行数与读取的记录数相同,列数与有变量相同。
“变量” 1 -nn-by-1单元格数组,指定要从文件中读取的变量名。n必须小于或等于文件中变量的总数。cdfread返回一个单元格数组,其列数与读取的变量数相同,并为每次读取的记录返回一行。
“片” 一个-by-3数组,其中每一行指定沿着变量的特定维度从何处开始读取、在该维度上使用的跳过间隔(每个项、每个其他项,等等)以及在该维度上读取的值的总数。必须小于或等于变量的维数。如果小于维度的总数,cdfread从未指定的维度读取每个值([0 1 n],在那里n为维度中元素的总数。
注意:因为“片”参数描述如何处理单个变量,它必须与“变量”参数。
“ConvertEpochToDatenum”

一个布尔值,确定是否cdfread自动转换CDF纪元数据类型到MATLAB®串行数字日期。如果设置为(默认),cdfread在MATLAB中包装epoch值cdfepoch对象。


注意:为了在读取大数据集时获得更好的性能,设置为真正的
“CombineRecords” 决定如何处理的布尔值cdfread返回从文件中读取的CDF数据集。如果设置为(默认),cdfread将数据存储在——- - - - - -n单元阵列,记录的数量是多少n是请求的变量数量。如果设置为真正的cdfread将特定变量的所有记录合并到输出单元格数组中的一个单元格中。在这个单元,cdfread将标量数据存储为列数组。cdfread扩展非标量和字符串数据的维数。例如,不是为每条记录创建1000个包含20 * 30数组的元素,cdfread将所有记录以1000 × 20 × 30数组的形式存储在一个单元格中
注意:如果你使用“记录”参数指定要读取哪些记录,则不能使用“CombineRecords”参数。

注意:当使用“变量”参数读取一个变量,如果“CombineRecords”参数是真正的cdfread以m乘n的数字或字符数组返回数据;它不会将数据放入单元格数组中。

请注意

要在处理大型数据文件时提高性能,请使用“ConvertEpochToDatenum”“CombineRecords”选项。

请注意

为了提高性能,关闭文件验证,这是CDF库在打开文件时默认执行的操作。有关更多信息,请参见cdflib.setValidate

例子

从CDF文件中读取所有数据。

data = cdfread(“example.cdf”);

从变量中读取数据“时间”

data = cdfread('的例子。cdf”、“变量”{'时间'});

读取第一个维度中的第一个值,第二个维度中的第二个值,第三个维度中的第一个和第三个值,以及变量剩余维度中的所有值“多维”

data = cdfread('的例子。cdf”……“变量”,{“多维”},……'切片',[0 1 1;1 1 1;0 2 2]);

这类似于将整个变量读入数据然后用矩阵下标法,如下所示。

data = cdfread('的例子。cdf”……“变量”,{“多维”});数据{1}(1,2,[1 3],:)

从数据集折叠记录,并将CDF纪元数据类型转换为MATLAB串行日期编号。

data = cdfread('的例子。cdf”……“CombineRecords”,真的,…“ConvertEpochToDatenum”,真正的);

限制

  • cdfread函数不支持非ascii编码的数据。金宝appCDF文件中所有的变量名、属性名、变量值和属性值必须使用7位的ASCII编码。试图读取非ascii编码的文件会导致错误或数据字符损坏。

之前介绍过的R2006a