Main Content

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

netcdf.putVar

将数据写入 netCDF 变量

语法

netcdf.putVar(ncid,varid,data)
netcdf.putVar(ncid,varid,start,data)
netcdf.putVar(ncid,varid,start,count,data)
netcdf.putVar(ncid,varid,start,count,stride,data)

说明

netcdf.putVar(ncid,varid,data)data 写入 varid 指定的 netCDF 变量。

注意

对于类型为 NC_CHAR 的变量,vardata 只能包含 ASCII 编码的字符。NetCDF-4 文件支持在类型为 NC_STRING 的变量中写入 UTF-8 编码的字符。

ncid 是由 netcdf.createnetcdf.open 返回的 netCDF 文件的标识符,或是由 netcdf.defGrp 返回的 netCDF 组的标识符。

netcdf.putVar(ncid,varid,start,data) 将一个单精度值写入 start 指定的索引处变量。

netcdf.putVar(ncid,varid,start,count,data) 将变量段写入 netCDF 变量,从向量 start 指定的索引开始,直到向量 count 指定的范围,沿着指定变量的每一维度。

netcdf.putVar(ncid,varid,start,count,stride,data) 写入从索引 startcount 指定范围的变量段中各值的采样区间 stride 所指定的子段。

此函数对应于 NetCDF 库 C API 中的几个变量 I/O 函数。要使用此函数,应该熟悉 netCDF 编程范式。

示例

全部折叠

创建一个新的 netCDF 文件,并将变量写入该文件。

为该变量创建一个包含 50 个元素的向量。

my_vardata = linspace(0,50,50);

打开 netCDF 文件。

ncid = netcdf.create('foo.nc','NOCLOBBER');

定义变量的维度。

dimid = netcdf.defDim(ncid,'my_dim',50);

在文件中定义一个新变量。

my_varID = netcdf.defVar(ncid,'my_var','NC_DOUBLE',dimid);

退出定义模式,进入数据模式以写入数据。

netcdf.endDef(ncid);

将数据写入变量。

netcdf.putVar(ncid,my_varID,my_vardata);

验证变量已创建。

[varname xtype dimid natts ] = netcdf.inqVar(ncid,0)
varname = 
'my_var'
xtype = 6
dimid = 0
natts = 0

关闭文件。

netcdf.close(ncid)

写入 temperature 示例变量的前 10 个元素。

srcFile = fullfile(matlabroot,'toolbox','matlab','demos','example.nc');
copyfile(srcFile,'myfile.nc');
fileattrib('myfile.nc','+w');
ncid = netcdf.open('myfile.nc','WRITE');
varid = netcdf.inqVarID(ncid,'temperature');
data = [100:109];
netcdf.putVar(ncid,varid,0,10,data);
netcdf.close(ncid);

版本历史记录

在 R2008b 中推出

全部展开

另请参阅