主要内容

导出为CDF文件

这个例子展示了如何使用MATLAB®CDF低级函数将数据导出到CDF文件。MATLAB函数对应于CDF API库中的例程。

要有效地使用MATLAB CDF底层函数,您必须熟悉CDF C接口。此外,CDF文件不支持非ascii编码的输入。万博1manbetx因此,变量名、属性名、变量值和属性值必须采用7位ASCII编码。

新建CDF文件

创建一个新的CDF文件my_file.cdf使用cdflib.create。这个函数对应于CDF库的C API例程,CDFcreateCDF

Cdfid = cdflib.create(“my_file.cdf”);

cdflib.create返回文件标识符,cdfid

创建CDF文件中的变量

创建名为时间纬度使用cdflib.createVar。这个函数对应于CDF库的C API例程,CDFcreatezVar

time_id = cdflib.createVar(cdfid,“时间”,“cdf_int4”1[],真的,[]);lat_id = cdflib.createVar(cdfid,“纬度”,“cdf_int2”, 1181年,真的,真的);

cdflib.createVar返回每个变量的数字标识符。

创建一个名为图像

dimSizes = [2010];image_id = cdflib.createVar(cdfid,“图像”,“cdf_int4”,1,...dimSizes,真实,真实的真正的);

写入变量

的第一和第二记录写入数据时间变量。记录数字是从零开始的。的cdflib.putVarRecordData函数对应于CDF库C API例程,CDFputzVarRecordData

cdflib.putVarRecordData (cdfid time_id 0 int32 (23));cdflib.putVarRecordData (cdfid time_id 1 int32 (24);

将数据写入纬度变量。

数据= int16([-90:90]);Recspec = [0 1 1];Dimspec = {0 181 1};cdflib.hyperPutVarData (cdfid lat_id、recspec dimspec,数据);

将数据写入图像变量。

Recspec = [0 31];Dimspec = {[0 0], [20 10], [11 1]};数据=重塑(int32([0:599]), [20103]);cdflib.hyperPutVarData (cdfid image_id、recspec dimspec,数据);

写入全局属性

创建一个全局属性标题使用cdflib.createAttr。这个函数对应于CDF库的C API例程,CDFcreateAttr

titleAttrNum = cdflib.createAttr(cdfid,“标题”,“global_scope”);

cdflib.createAttr返回属性的数字标识符。属性号从零开始。

将值写入全局属性中的条目。

cdflib.putAttrEntry (cdfid titleAttrNum 0,“CDF_CHAR”,“cdf实验组的标题”);cdflib.putAttrEntry (cdfid titleAttrNum 1,“CDF_CHAR”,“作者”);

写入与变量关联的属性

在CDF文件中创建与变量关联的属性。

fieldAttrNum = cdflib.createAttr(cdfid,“FIELDNAM”,“variable_scope”);unitsAttrNum = cdflib.createAttr(cdfid,“单位”,“variable_scope”);

的属性写入时间变量。

cdflib.putAttrEntry (cdfid fieldAttrNum time_id,...“CDF_CHAR”,“观察时间”);cdflib.putAttrEntry (cdfid unitsAttrNum time_id,...“CDF_CHAR”,“小时”);

获取CDF文件信息

获取有关文件的信息cdflib.inquire。这个函数对应于CDF库的C API例程,CDFinquireCDFCDFgetNumgAttributes

Info = cdflib.inquire(cdfid)
信息=带有字段的结构体:encoding: 'IBMPC_ENCODING' majority: 'ROW_MAJOR' maxRec: 2 numVars: 3 numvAttrs: 2 numgAttrs: 1

cdflib.inquire返回一个结构数组,其中包含有关数据编码以及文件中变量和属性的数量的信息。

关闭CDF文件

关闭CDF文件cdflib.close。这个函数对应于CDF库的C API例程,CDFcloseCDF。您必须关闭CDF,以保证打开CDF后所做的所有修改都写入该文件。

cdflib.close (cdfid);

另请参阅

外部网站