ncwrite
将数据写入 NetCDF 文件
语法
说明
示例
将变量写入 NetCDF 文件
创建包含一个变量的 NetCDF 文件,然后将数据写入该变量。
创建包含名为 pi
的变量的新文件 myfile.nc
。
nccreate('myfile.nc','pi');
将没有维度的标量数据写入变量 pi
。
ncwrite('myfile.nc','pi',3.1416);
从文件中读取并显示该变量。
valPi = ncread('myfile.nc','pi')
valPi = 3.1416
将数据写入变量的一部分
将数据写入 NetCDF 文件中一个变量的一部分,从指定位置开始。
使用一个空的 3
×6
数值变量 vmark
创建文件 myncfile.nc
。要禁止对缺失或空的变量使用默认填充值,请将 FillValue
名称-值对组参数的值设置为 disable
。
nccreate('myncfile.nc','vmark',... 'Dimensions', {'x',3,'y',6},... 'FillValue','disable');
将一个 3
×3
数组写入该变量,然后从文件中读取并显示 vmark
。ncwrite
函数从变量的起始位置写入数据。
ncwrite('myncfile.nc','vmark',3*eye(3)); varData = ncread('myncfile.nc','vmark'); display(varData)
varData = 3×6
3 0 0 0 0 0
0 3 0 0 0 0
0 0 3 0 0 0
将另一个 3
×3
数组添加到变量 vmark
,从第一行的第四列开始。接下来,从文件中读取并显示 vmark
。ncwrite
函数从 [1 4]
位置开始写入该数组。
ncwrite('myncfile.nc','vmark',5*eye(3),[1 4]); varData = ncread('myncfile.nc','vmark'); display(varData)
varData = 3×6
3 0 0 5 0 0
0 3 0 0 5 0
0 0 3 0 0 5
以指定的间距写入数据
在每个维度上以指定的变量索引间距写入数据。
首先,使用一个空的 6
×6
数值变量 vmark
创建文件 myncfile.nc
。要禁止对缺失或空的变量使用默认填充值,请将 FillValue
名称-值对组参数的值设置为 disable
。
nccreate('myncfile.nc','vmark',... 'Dimensions', {'x',6,'y',6},... 'FillValue','disable');
接下来,将一个 3
×3
数值数组写入变量 vmark
,从位置 [1 1]
开始,每个维度上写入数据的变量索引间距为 2
。从文件中读取并显示 vmark
。
ncwrite('myncfile.nc','vmark',3*eye(3),[1 1],[2 2]); varData = ncread('myncfile.nc','vmark'); display(varData)
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
— 文件名
字符向量 | 字符串标量
varname
— 变量名称
字符向量 | 字符串标量
变量名称,指定为包含 NetCDF 文件中变量名称的字符向量或字符串。
数据类型: char
| string
vardata
— 变量数据
数值 | 文本
变量数据,指定为数值数据或文本。
注意
对于类型为 NC_CHAR
的变量,vardata
只能包含 ASCII 编码的字符。NetCDF-4 文件支持在类型为 NC_STRING
的变量中写入 UTF-8 编码的字符。
如果变量 varname
已存在,则 ncwrite
会要求 vardata
的数据类型与 NetCDF 变量的数据类型相同。
如果变量 varname
具有 _FillValue
、scale_factor
或 add_offset
属性,则 ncwrite
函数会要求数据的数据类型为 double
。要将 vardata
转换为 NetCDF 数据类型,ncwrite
函数会按以下顺序应用这些属性约定:
用
vardata
减去add_offset
属性的值。将
vardata
除以scale_factor
属性值。将
vardata
中的任何NaN
值替换为_FillValue
属性中包含的值。如果此属性不存在,ncwrite
将使用 NetCDF 库为此变量指定的填充值。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
start
— 起始位置
由 1 组成的向量 (默认) | 数值向量
变量中数据的起始位置,指定为索引向量。对于 N
维变量,start
是长度为 N 的向量,其中包含从 1 开始的索引。
如果未指定 start
,则 ncwrite
函数将沿每个维度从第一个索引开始写入变量。
数据类型: double
stride
— 变量索引之间的间距
由 1 组成的向量 (默认) | 数值向量
沿每个维度读取变量数据时的变量索引间距,指定为由整数组成的数值向量。对于 N
维变量,stride
是长度为 N
的向量。stride
向量的元素按顺序对应于变量的维度。值为 1
表示写入对应维度中 NetCDF 变量的相邻值。而值为 2
则表示隔值写入对应维度中 NetCDF 变量的值,依此类推。
如果未指定 stride
,则 ncwrite
函数将沿每个维度以默认间距 1
写入数据。
数据类型: double
版本历史记录
在 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)