Main Content

本页面提供的是上一版软件的文档。当前版本中已删除对应的英文页面。

nccreate

在 netCDF 文件中创建变量

说明

示例

nccreate(filename,varname)filename 指定的 netCDF 文件中创建名为 varname 的标量 double 变量。如果 filename 不存在,那么 nccreate 会使用 netcdf4_classic 格式创建文件。

示例

nccreate(filename,varname,Name,Value) 使用由一个或多个名称-值参数指定的附加选项创建一个变量。例如,要创建非标量变量,请使用 Dimensions 名称-值参数。

示例

全部折叠

创建一个名为 myexample.nc 的 netCDF 文件,其中包含名为 Var1 的变量。

nccreate('myexample.nc','Var1')

在同一文件中创建另一个变量。

nccreate('myexample.nc','Var2')

显示 netCDF 文件的内容。

ncdisp('myexample.nc')
Source:
           pwd\myexample.nc
Format:
           netcdf4_classic
Variables:
    Var1
           Size:       1x1
           Dimensions: 
           Datatype:   double
    Var2
           Size:       1x1
           Dimensions: 
           Datatype:   double

以名为 myncclassic.nc 的经典 (netCDF 3) 格式文件创建一个名为 peaks 的新二维变量。使用 "Dimensions" 名称-值参数指定每个维度的名称和长度。使用 "Format" 名称-值参数指定文件格式。

nccreate("myncclassic.nc","peaks",...
"Dimensions",{"r",300,"c",400},"Format","classic");

向变量中写入数据。

ncwrite("myncclassic.nc","peaks",peaks(100));

显示 netCDF 文件的内容。

ncdisp("myncclassic.nc");
Source:
           pwd\myncclassic.nc
Format:
           classic
Dimensions:
           r = 300
           c = 400
Variables:
    peaks
           Size:       300x400
           Dimensions: r,c
           Datatype:   double

输入参数

全部折叠

文件名,指定为字符向量或字符串标量。此文件是现有的 netCDF 文件,或是指定要分配给新 netCDF 文件的文件名。

示例: 'myFile.nc'

新变量的名称,指定为字符向量或字符串标量。

示例: 'myVar'

名称-值参数

将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参数名称,Value 是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: nccreate('myFile.nc','Var1','Datatype','double','Format','classic') 在名为 myFile.nc 的 netCDF-3 文件中创建一个名为 Var1NC_DOUBLE 类型变量。

新变量的维度,指定为包含 'Dimensions' 和元胞数组的逗号分隔对组。该元胞数组以字符向量或字符串标量形式列出维度名称,并在其后以此格式尾随列出其数值长度:{dname1,dlength1,dname2,dlength2, ...}dname1 输入为第一个维度的名称,指定为字符向量或字符串标量,dlength1 为第一个维度的长度,dname2 为第二个维度的名称,依此类推。如果维度存在,指定其长度是可选项。具有单个维度的变量始终视为一个列向量。

使用 Inf 可以指定无限维度。netcdf4 格式文件可以有任意个无限维度,而且顺序不限。对于所有其他格式,每个文件只能有一个无限维度,而且它还必须指定为元胞数组中的最后一个维度。

nccreate 在变量所在的位置创建该维度。对于 netcdf4 格式文件,您可以使用完全限定维度名为该维度指定不同位置。

示例: 'Dimensions',{'dim1',100,'dim2',150,'dim3',Inf}

MATLAB 数据类型,指定为以逗号分隔的对组,包含 'Datatype' 和由数据类型名称组成的字符向量或字符串标量。当 nccreate 在 netCDF 文件中创建一个变量时,它会使用对应的 netCDF 数据类型。此表列出了 'Datatype' 的有效值以及 nccreate 创建的相应 netCDF 变量类型。

Datatype 的值NetCDF 变量类型
'double'NC_DOUBLE
'single'NC_FLOAT
'int64'NC_INT64(仅限 netCDF-4 文件)
'uint64'NC_UINT64(仅限 netCDF-4 文件)
'int32'NC_INT
'uint32'NC_UINT(仅限 netCDF-4 文件)
'int16'NC_SHORT
'uint16'NC_USHORT(仅限 netCDF-4 文件)
'int8'NC_BYTE
'uint8'NC_UBYTE(仅限 netCDF-4 文件)
'char'NC_CHAR
'string'NC_STRING(仅限 netCDF-4 文件)

示例: 'Datatype','uint16'

NetCDF 文件格式,指定为以逗号分隔的对组,包含 'Format' 和以下值之一。

Format 的值描述
'classic'netCDF-3
'64bit'netCDF-3,带 64 位偏移
'netcdf4_classic'netCDF-4 经典模型
'netcdf4'netCDF-4 模型(使用此格式来启用组层次结构)

如果 varname 指定组(例如 '/grid3/temperature'),则 nccreateFormat 的值设置为 'netcdf4'

示例: 'Format','classic'

缺失值的替换值,指定为包含 'FillValue' 以及标量或 'disable' 的逗号分隔对组。默认值由 netCDF 库指定。要禁用替代值,请指定 'FillValue','disable'。将 NC_STRING 类型的数据写入 netCDF-4 文件时,无法禁用 'FillValue'

此参数仅适用于 netcdf4netcdf4_classic 格式。

示例: 'FillValue',NaN

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char

沿每个维度的区块大小,指定为包含 'ChunkSize' 和向量的逗号分隔对组。第一个元素指定行数,第二个元素指定列数,第三个元素指定第三个维度的长度,等等。默认值由 netCDF 库指定。

此参数仅适用于 netcdf4netcdf4_classic 格式。

示例: 'ChunkSize',[5 6 9]

数据类型: double

压缩量,指定为包含 'DeflateLevel' 以及介于 09 之间的标量值的逗号分隔对组。0 指示无压缩,9 指示最大压缩。

此参数仅适用于 netcdf4netcdf4_classic 格式。

示例: 'DeflateLevel',5

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Shuffle 过滤器的状态,指定为包含 'Shuffle'falsetrue 的逗号分隔对组。false 会禁用 Shuffle 过滤器,而 true 会启用该过滤器。shuffle 过滤器可以通过改变数据流中的字节顺序来辅助整型数据的压缩。

此参数仅适用于 netcdf4netcdf4_classic 格式。

示例: 'Shuffle',true

数据类型: logical

局限性

  • NC_STRING 类型的数据写入 netCDF-4 文件时,无法禁用 'FillValue'

版本历史记录

在 R2011a 中推出

全部展开