从CDF文件中读取数据
数据= cdfread (
文件名
)
数据= cdfread (文件名
,param1
,val1
, param2, val2,…)
[data, info] = cdfread(文件名
,……)
数据= cdfread (
从指定的通用数据格式(CDF)文件中读取所有数据文件名
)文件名
.指定文件名
作为字符向量或字符串标量。CDF数据集通常包含一组特定数据类型的变量,每个变量都有一组相关的记录。变量可以表示时间值,每个记录表示观测记录的特定时间。cdfread
返回单元格数组中的所有数据,其中每列表示一个变量,每行表示与某个变量关联的记录。如果变量有不同数量的关联记录,cdfread
使用在CDF文件中定义的填充值填充行以创建矩形单元格数组。
请注意
因为cdfread
创建临时文件,当前工作目录必须是可写的。
数据= cdfread (
从文件读取数据,其中文件名
,param1
,val1
, param2, val2,…)
,param1
,等等,可以是下表中列出的任何参数。param2
[data, info] = cdfread(
中的CDF文件的详细信息文件名
,……)信息
结构。
参数 | 价值 |
---|---|
“记录” |
指定要读取哪些记录的向量。记录数字是零基础的。cdfread 返回一个单元格数组,其行数与读取的记录数相同,列数与有变量相同。 |
“变量” |
1 -n或n-by-1单元格数组,指定要从文件中读取的变量名。n必须小于或等于文件中变量的总数。cdfread 返回一个单元格数组,其列数与读取的变量数相同,并为每次读取的记录返回一行。 |
“片” |
一个米-by-3数组,其中每一行指定沿着变量的特定维度从何处开始读取、在该维度上使用的跳过间隔(每个项、每个其他项,等等)以及在该维度上读取的值的总数。米必须小于或等于变量的维数。如果米小于维度的总数,cdfread 从未指定的维度读取每个值([0 1 n] ,在那里n为维度中元素的总数。注意:因为 “片” 参数描述如何处理单个变量,它必须与“变量” 参数。 |
“ConvertEpochToDatenum” |
一个布尔值,确定是否 注意:为了在读取大数据集时获得更好的性能,设置为 真正的 . |
“CombineRecords” |
决定如何处理的布尔值cdfread 返回从文件中读取的CDF数据集。如果设置为假 (默认),cdfread 将数据存储在米——- - - - - -n单元阵列,米记录的数量是多少n是请求的变量数量。如果设置为真正的 ,cdfread 将特定变量的所有记录合并到输出单元格数组中的一个单元格中。在这个单元,cdfread 将标量数据存储为列数组。cdfread 扩展非标量和字符串数据的维数。例如,不是为每条记录创建1000个包含20 * 30数组的元素,cdfread 将所有记录以1000 × 20 × 30数组的形式存储在一个单元格中注意:如果你使用 “记录” 参数指定要读取哪些记录,则不能使用“CombineRecords” 参数。注意:当使用 |
请注意
要在处理大型数据文件时提高性能,请使用“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编码的文件会导致错误或数据字符损坏。