这个例子展示了如何使用高级MATLAB®函数导入样例CDF文件,example.cdf
.高级函数提供了一个更简单的接口来访问CDF文件。
方法获取关于CDF文件内容的信息cdfinfo
函数。因为cdfinfo
创建临时文件,在使用该函数之前确保当前文件夹是可写的。
信息= cdfinfo (“example.cdf”)
信息=结构体字段:文件名:“的例子。FileModDate: '10-May-2010 21:35:01' FileSize: 1310 Format: ' cdf' FormatVersion: '2.7.0' filessettings: [1x1 struct]子文件:{}变量:{6x6 cell}全局属性:[1x1 struct]变量属性:[1x1 struct]
cdfinfo
返回一个结构,其中包含关于文件的一般信息以及关于文件中变量和属性的详细信息。在本例中,变量
字段表示文件中变量的数量。
控件的内容变量
字段。
var = info。变量
var =6×6单元阵列列1到5{‘时间’}{[1]}{[24]}{“时代”}{' T /}{经度的}{[2 2]}{[1]}{‘int8}{“F /英尺”}{“纬度”}{[2 2]}{[1]}{‘int8} {F / TF的}{‘数据’}{[2 2 4]}{[1]}{“双重”}{' T / TTT}{“多维”}{[2 2 3 4]}{[1]}{‘uint8} {' T / TTTT}{“温度”}{2[3]}{[10]}{‘int16} {' T / TT}列6{‘满载’}{“完全”}{“完全”}{“完全”}{“完全”}{“完全”}
第一个变量,时间
,包含24条包含CDF历元数据的记录。接下来的两个变量,经度
和纬度
,每个只有一个关联的记录包含int8
数据。
使用cdfread
函数读取CDF文件中的所有数据。
数据= cdfread (“example.cdf”);谁数据
名称大小字节类属性数据24x6 23904 cell
cdfread
返回单元格数组中的数据。数据列对应于变量。这些行对应于与变量相关联的记录。
只读的经度
和纬度
从CDF文件中获取变量。要读取与特定变量相关联的数据,请使用“变量”
参数。指定字符向量单元格数组中变量的名称。变量名区分大小写。
var_long_lat = cdfread (“example.cdf”,“变量”, {“经”,“纬度”});谁var_long_lat
名称大小字节类属性var_long_lat 1x2 216 cell
默认情况下,cdfread
为每个变量和每个变量中的每个记录创建一个具有单独元素的单元格数组,填充记录维度以创建一个矩形单元格数组。在处理大型数据集时,可以通过指定“CombineRecords”
参数来减少单元格数组中元素的数量cdfread
的回报。当你设置“CombineRecords”
参数真正的
,cdfread
函数为每个变量创建一个单独的元素,但通过将与变量相关的所有记录放在单个单元格数组元素中来节省时间。
data_combined = cdfread (“example.cdf”,“CombineRecords”,真正的);
的返回的单元格数组的大小cdfread
.
谁数据*
名称大小字节类属性数据24x6 23904 cell data_combined 1x6 8080 cell
从示例文件中读取所有数据,而不使用CombineRecords
参数返回一个24 × 6的单元格数组,其中列表示变量,行表示每个变量的记录。从同一个文件中读取数据“CombineRecords”
设置为真正的
返回一个1 × 6的单元格数组。
当合并记录时,单元格中数据的维数会改变。在本例中,时间
变量有24条记录,每条记录都是一个标量值。在data_combined
单元格数组,合并后的元素包含一个24乘1的值向量。
默认情况下,cdfread
创建一个MATLABcdfepoch
对象为文件中的每个CDF历元值。通过将“ConvertEpochToDatenum”名称-值对参数设置为来加速读取操作真正的
,以MATLAB串行日期数字返回CDF历元值。
data_datenums = cdfread (“example.cdf”,“ConvertEpochToDatenum”,真正的);谁数据*
名称大小字节类属性数据24x6 23904 cell data_combined 1x6 8080 cell data_datenums 24x6 19872 cell