ncwrite
将数据写入 netCDF 文件
语法
说明
示例
将变量写入 NetCDF 文件
创建一个包含名为 c
的变量的文件 myfile.nc
。
nccreate("myfile.nc","c")
将一个标量值写入该变量。
ncwrite("myfile.nc","c",299792458)
从文件中读取并显示该变量。
speedOfLight = ncread("myfile.nc","c")
speedOfLight = 299792458
将数据写入变量的一部分
使用一个空的 3×6 数值变量 vmark
创建文件 myfile.nc
。要禁止对缺失或空的变量使用默认填充值,请将 FillValue
名称-值参量设置为 "disable"
。
nccreate("myfile.nc","vmark", ... "Dimensions",{"x",3,"y",6},"FillValue","disable")
将一个 3×3 数组写入该变量,然后从文件中读取并显示 vmark
。ncwrite
函数从变量的起始位置写入数据。
ncwrite("myfile.nc","vmark",3*eye(3)) varData = ncread("myfile.nc","vmark")
varData = 3×6
3 0 0 0 0 0
0 3 0 0 0 0
0 0 3 0 0 0
将另一个 3×3 数组添加到变量 vmark
,从第一行的第四列开始。ncwrite
函数从 [1 4]
位置开始写入该数组。
ncwrite("myfile.nc","vmark",5*eye(3),[1 4]) varData = ncread("myfile.nc","vmark")
varData = 3×6
3 0 0 5 0 0
0 3 0 0 5 0
0 0 3 0 0 5
以指定的间距写入数据
使用一个空的 6×6 数值变量 vmark
创建文件 myfile.nc
。要禁止对缺失或空的变量使用默认填充值,请将 FillValue
名称-值参量设置为 "disable"
。
nccreate("myfile.nc","vmark", ... "Dimensions", {"x",6,"y",6},"FillValue","disable")
接下来,将一个 3×3 数值数组写入变量 vmark
,从位置 [1 1]
开始,每个维度上写入数据的变量索引间距为 2
。
ncwrite("myfile.nc","vmark",3*eye(3),[1 1],[2 2]) varData = ncread("myfile.nc","vmark")
varData = 6×6
3 0 0 0 0 0
0 0 0 0 0 0
0 0 3 0 0 0
0 0 0 0 0 0
0 0 0 0 3 0
0 0 0 0 0 0
输入参数
filename
— 文件名
字符串标量 | 字符向量
vardata
— 变量数据
数值数组 | 文本
变量数据,指定为数值数组或文本。vardata
的值必须与 netCDF 变量 varname
的数据类型兼容。
如果变量 varname
具有 _FillValue
、scale_factor
或 add_offset
属性,则 ncwrite
函数会要求数据与 double
数据类型兼容。要将 vardata
转换为 netCDF 数据类型,ncwrite
函数会在写入 vardata
之前,按以下顺序应用这些属性约定:
如果
add_offset
属性存在,则ncwrite
从vardata
中的值减去add_offset
属性的值。如果
scale_factor
属性存在,则ncwrite
将vardata
中的值除以scale_factor
属性的值。如果
_FillValue
属性存在,则ncwrite
用与_FillValue
属性相等的值替换NaN
vardata
值。
注意
对于 NC_STRING
类型的变量,vardata
可以包含 UTF-8 编码的字符;对于 NC_CHAR
类型的变量,vardata
只能包含 ASCII 编码的字符。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| char
| string
start
— 变量中数据的起始位置
由 1 组成的向量 (默认) | 数值向量
变量中数据的起始位置,指定为正整数组成的数值向量。对于 N
维变量,将 start
指定为长度为 N
的向量,其中包含从 1 开始的索引。
如果未指定 start
,则 ncwrite
函数将沿每个维度从第一个索引开始写入变量。
示例: [2 1 3]
数据类型: double
stride
— 变量索引之间的间距
由 1 组成的向量 (默认) | 数值向量
沿每个维度读取变量数据时的变量索引间距,指定为由整数组成的数值向量。对于一个 N
维变量,将 stride
指定为长度为 N
的向量。stride
向量的元素按顺序对应于变量的维度。值为 1
表示在对应维度中连续访问 netCDF 变量的相邻值,值为 2
表示在对应维度中每隔一个值访问一个值,依此类推。
如果未指定 stride
,则 ncwrite
函数将沿每个维度以默认间距 1
写入数据。
示例: [2 10 1]
数据类型: double
提示
MATLAB® 将多维数据解释为列优先数据,但 netCDF C API 将多维数据解释为行优先数据。netCDF C API 中的多维数据以与 MATLAB 所示顺序相反的顺序显示维度,因此显示为转置。
版本历史记录
在 R2011a 中推出R2021b: 写入 NC_STRING
数据
您可以将 NC_STRING
数据写入 netCDF-4 文件。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)