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
の 1 行目の 4 列目から始まる部分に追加します。関数 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
— ファイル名
string スカラー | 文字ベクトル
既存の netCDF ファイルのファイル名。string スカラーまたは文字ベクトルとして指定します。
netCDF ファイルが存在しない場合は、まず関数 nccreate
を使用して作成します。
例: "myFile.nc"
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
は、vardata
のNaN
値を_FillValue
属性のそれと等しい値に置き換えます。
メモ
NC_STRING
型の変数の場合、vardata
に UTF-8 エンコード文字を含めることができます。NC_CHAR
型の変数の場合、vardata
は ASCII エンコード文字のみを含む必要があります。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| char
| string
start
— 変数内のデータの開始位置
1 のベクトル (既定値) | 数値ベクトル
変数内のデータの開始位置。正の整数の数値ベクトルとして指定します。N
次元の変数について、1 ベースのインデックスを含む、長さ N
のベクトルとして start
を指定します。
start
を指定しない場合、関数 ncwrite
は各次元に沿って、最初のインデックスから変数の書き込みを開始します。
例: [2 1 3]
データ型: double
stride
— 変数インデックス間の間隔
1 のベクトル (既定値) | 数値ベクトル
各次元に沿った変数インデックス間の間隔。整数の数値ベクトルとして指定します。N
次元の変数について、長さ N
のベクトルとして stride
を指定します。ベクトル stride
の要素は、変数の次元に、同じ順序で対応しています。値が 1
の場合、対応する次元内の netCDF 変数の隣接する値にアクセスします。値が 2
の場合、対応する次元内の値に 1 つおきにアクセスし、以降同様に繰り返されます。
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)