Main Content

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

nccreate

在 netCDF 文件中创建变量

    说明

    示例

    nccreate(filename,varname)filename 指定的 netCDF 文件中创建名为 varname 的标量 double 变量。对于格式为 netcdf4 的文件,您可以在 varname 中指定组层次结构。如果 filename 不存在,则 nccreate 会使用 netCDF-4 经典模型创建文件。

    示例

    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"

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

    如果 filename 指定格式为 netcdf4 的文件,您可以通过将 varname 指定为完全限定名称来指定新变量在组层次结构中的位置。在本例中,nccreate 根据需要创建新组,以将新变量放在层次结构中的指定位置。

    示例: "myVar"

    示例: "/myGrp/mySubGrp/myNestedVar"

    名称-值参数

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

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

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

    示例: nccreate("myFile.nc","Var1","Datatype","double","Format","classic")

    新变量的维度,指定为元胞数组。该元胞数组以字符串标量或字符向量的形式列出维度名称,并在其后以下列格式列出其数值长度:{dname1,dlength1,dname2,dlength2,...,dnameN,dlengthN}dname1 条目是第一个维度的名称,dlength1 是第一个维度的长度,指定为非负整数或 Inf。同样,dname2 是第二个维度的名称,dlength2 是第二个维度的长度,依此类推。具有单个维度的变量被视为一个列向量。

    对于已存在的维度,指定长度是可选操作。如果指定现有维度的长度,则它必须与当前长度匹配。

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

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

    示例: "Dimensions",{"dim1",100,"/mygroup/dim2",150,"dim3",Inf}

    数据类型: cell

    MATLAB 数据类型,指定为下表中的值之一。当 nccreate 在 netCDF 文件中创建一个变量时,它会使用对应的 netCDF 数据类型。

    Datatype 的值NetCDF 变量类型
    "double"NC_DOUBLE
    "single"NC_FLOAT
    "int32"NC_INT
    "int16"NC_SHORT
    "int8"NC_BYTE
    "char"NC_CHAR
    "uint64" (*)NC_UINT64
    "int64" (*)NC_INT64
    "uint32" (*)NC_UINT
    "uint16" (*)NC_USHORT
    "uint8" (*)NC_UBYTE
    "string" (*)NC_STRING

    (*) Datatype 的这些值仅适用于 netcdf4 格式的文件。

    示例: "Datatype","int16"

    数据类型: string | char

    NetCDF 文件格式,指定为下列值之一。

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

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

    示例: "Format","64bit"

    数据类型: string | char

    缺失值的替换值,指定为标量或 "disable"。默认值由 netCDF 库提供。要禁用替换值,请指定值 "disable"。在将字符串数据写入格式为 netcdf4 的文件时,您无法禁用 FillValue

    注意

    nccreate 函数将 FillValue 的值赋给新的 netCDF 变量 varname_FillValue 属性。在创建该变量后,您无法更改此属性的值。

    此参量仅适用于格式为 netcdf4netcdf4_classic 的文件。

    示例: "FillValue",0

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

    沿每个维度的块大小,指定为数值向量。第一个元素指定行数,第二个元素指定列数,第三个元素指定第三个维度的长度,等等。默认值由 netCDF 库提供。

    此参量仅适用于格式为 netcdf4netcdf4_classic 的文件。

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

    数据类型: double

    压缩级别,指定为 09 之间的整数标量值。值 0 表示无压缩。值 1 表示最小压缩,值 9 表示最大压缩。如果 Datatype"string",则无法设置 DeflateLevel

    此参量仅适用于格式为 netcdf4netcdf4_classic 的文件。

    示例: "DeflateLevel",5

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

    Shuffle 过滤器的状态,指定为数值或逻辑值 0 (false) 或 1 (true)。值 false 表示禁用 Shuffle 过滤器,true 表示启用它。shuffle 过滤器通过改变数据流中的字节顺序来辅助整型数据的压缩。如果 Datatype"string",则无法启用 Shuffle 过滤器。

    此参量仅适用于格式为 netcdf4netcdf4_classic 的文件。

    示例: "Shuffle",true

    数据类型: logical

    提示

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

    版本历史记录

    在 R2011a 中推出

    全部展开