Main Content

netcdf.defVar

创建 netCDF 变量

语法

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

说明

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

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

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

    xtype 的值MATLAB®
    NC_DOUBLEdouble
    NC_FLOATsingle
    NC_INT64(仅限 NetCDF-4 文件)int64
    NC_UINT64(仅限 NetCDF-4 文件)uint64
    NC_INTint32
    NC_UINT(仅限 NetCDF-4 文件)uint32
    NC_SHORTint16
    NC_USHORT(仅限 NetCDF-4 文件)uint16
    NC_BYTEint8
    NC_UBYTE(仅限 NetCDF-4 文件)uint8
    NC_CHARchar
    NC_STRING(仅限 NetCDF-4 文件)string

    或者,xtype 可以是 netcdf.getConstant 函数返回的等效数值。对于用户定义的 NC_VLEN 类型,xtype 可以是由 netcdf.defVlen 函数返回的数值。NC_VLEN 类型对应于元胞数组。

  • 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 所示顺序相反的顺序显示维度,因此显示为转置。

版本历史记录

全部展开