主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

netcdf.defVar

创建 netCDF 变量

语法

varid = netcdf.defVar(ncid,varname,xtype,dimids)

说明

varid = netcdf.defVar(ncid,varname,xtype,dimids)ncid 标识的数据集中创建一个新变量。

  • varname 是指定变量名称的字符向量或字符串标量。

  • xtype 使用下列值之一指定变量的 NetCDF 数据类型。

    xtype 的值MATLAB®
    "NC_DOUBLE"double
    "NC_FLOAT"single
    "NC_INT"int32
    "NC_SHORT"int16
    "NC_BYTE"int8
    "NC_CHAR"char
    "NC_INT64" (*)int64
    "NC_UINT64" (*)uint64
    "NC_UINT" (*)uint32
    "NC_USHORT" (*)uint16
    "NC_UBYTE" (*)uint8
    "NC_STRING" (*)string

    (*) xtype 的这些值仅对格式为 netcdf4 的源有效。

    您可以将 xtype 指定为 netcdf.getConstant 函数返回的数值。

    对于对应于 MATLAB 元胞数组的用户定义的 NC_VLEN 类型的属性,您可以将 xtype 指定为由 netcdf.defVlen 函数返回的数值。

  • dimids 指定维度 ID 列表。

  • netcdf.defVar 返回 varid,新变量的数值标识符。

此函数对应于 netCDF 库 C API 中的 nc_def_var 函数。因为 MATLAB 使用 FORTRAN 样式的排序方式,所以变化最快的维度排在开头,最慢的维度排在最后。因此,无限维度在维度 ID 列表最后。这种顺序与 C API 中的顺序相反。要使用此函数,应该熟悉 NetCDF 编程范式。

示例

全部折叠

创建一个新的 NetCDF 文件,在文件中定义一个维度,并在该维度上定义一个变量。在 NetCDF 文件中,您必须先创建维度,然后才能创建变量。要运行本例,必须对当前目录拥有写入权限。

创建一个名为 foo.nc 的新 NetCDF 文件。

ncid = netcdf.create('foo.nc','NC_NOCLOBBER');

在新文件中定义一个维度。

dimid = netcdf.defDim(ncid,'x',50);

在新文件中使用 netcdf.defVar 定义一个变量。

varid = netcdf.defVar(ncid,'myvar','NC_DOUBLE',dimid)
varid = 
0

netcdf.defVar 返回新变量的数值标识符。

关闭文件。

netcdf.close(ncid)

提示

  • MATLAB 将数据解释为列优先数据,但 netCDF C API 将数据解释为行优先数据。netCDF C API 中的多维数据以与 MATLAB 所示顺序相反的顺序显示维度,因此显示为转置。

版本历史记录

全部展开