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
の 1 行目の 4 列目から始まる部分に追加します。次に、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
— ファイル名
文字ベクトル | string スカラー
既存の NetCDF ファイルの名前。文字ベクトルまたは string スカラーとして指定します。
NetCDF ファイルまたは変数が存在しない場合、まず関数 nccreate
を使用してそれらを作成します。
データ型: char
| string
varname
— 変数名
文字ベクトル | string スカラー
変数名。NetCDF ファイルの変数名を含む文字ベクトルまたは string として指定します。
データ型: 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
は 1 ベースのインデックスを含む、長さ N のベクトルです。
start
を指定しない場合、関数 ncwrite
は各次元に沿って、最初のインデックスから変数の書き込みを開始します。
データ型: double
stride
— 変数インデックス間の間隔
1 のベクトル (既定値) | 数値ベクトル
各次元に沿った変数インデックス間の間隔。整数の数値ベクトルとして指定します。N
次元の変数について、stride
は長さ N
のベクトルです。ベクトル stride
の要素は、変数の次元に、同じ順序で対応しています。値が 1
の場合、対応する次元内の NetCDF 変数の隣接する値を書き込みます。一方、値が 2
の場合、対応する次元内の NetCDF 変数の値に 1 つおきにアクセスし、以降同様に繰り返されます。
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)