ncread
netCDF データ ソース内の変数からデータを読み取る
構文
説明
例
netCDF 変数の読み取り
example.nc
netCDF ファイルから peaks
という名前の変数を読み取り、プロットします。
peaksData = ncread("example.nc","peaks"); whos peaksData
Name Size Bytes Class Attributes peaksData 50x50 5000 int16
peaksData
をプロットして、タイトルを追加します。
surf(peaksData)
title("Peaks Data")
データの一部を変数から読み取る
peaks
変数データのうち、位置 [25 17]
から各次元の末尾までの部分のみを読み取ってプロットします。
start = [25 17]; % Start location along each coordinate count = [Inf Inf]; % Read until the end of each dimension peaksData = ncread("example.nc","peaks",start,count); whos peaksData
Name Size Bytes Class Attributes peaksData 26x34 1768 int16
データをプロットします。
surf(peaksData)
title("Peaks Data Starting at [25 17]")
指定された変数インデックス間の間隔でデータを読み取る
データを読み取ってプロットします。ここで、データは各次元に沿って、指定された変数インデックス間の間隔でサンプリングされます。start
の位置から開始し、stride
で指定された間隔で変数データを読み取ります。stride
の値が 1
の場合、対応する次元内の隣接する値にアクセスします。値が 2
の場合、対応する次元内の値に 1 つおきにアクセスし、以降同様に繰り返されます。
start = [1 1]; count = [10 15]; stride = [2 3]; sampledPeaksData = ncread("example.nc","peaks",start,count,stride); whos sampledPeaksData
Name Size Bytes Class Attributes sampledPeaksData 10x15 300 int16
データをプロットします。
surf(sampledPeaksData)
title("Peaks Data Subsampled by [2 3]")
入力引数
source
— netCDF データ ソースの名前
string スカラー | 文字ベクトル
netCDF データ ソースの名前。string スカラーまたは文字ベクトルとして指定します。引数 source
には、次の値のいずれかを指定できます。
ローカルの netCDF ソースのパス
リモートの OPeNDAP netCDF データ ソースの OPeNDAP URL
リモートの netCDF ソースの HTTP URL。その URL の末尾に
#mode=bytes
を付け加えてバイト範囲読み取りを有効にするメモ
バイト範囲読み取りは、他のソースからの読み取りよりも遅くなります。バイト範囲読み取りの詳細については、netCDF のドキュメンテーションを参照してください。
例: "myNetCDFfile.nc"
例: "http://
host_name
/netcdf_filename
#mode=bytes"
varname
— 変数名
string スカラー | 文字ベクトル
変数名。netCDF データ ソース内の変数名を含む string スカラーまたは文字ベクトルとして指定します。
source
で netcdf4
形式のファイルを指定した場合、varname
を完全修飾名として指定することで、グループ階層内の変数の位置を指定できます。
例: "myVar"
例: "/myGrp/mySubGrp/myNestedVar"
start
— 変数内のデータの開始位置
1 のベクトル (既定値) | 数値ベクトル
変数内のデータの開始位置。正の整数の数値ベクトルとして指定します。N
次元の変数について、1 ベースのインデックスを含む、長さ N
のベクトルとして start
を指定します。
start
を指定しない場合、関数 ncread
は各次元に沿って、最初のインデックスから変数の読み取りを開始します。
例: [2 1 3]
データ型: double
count
— 要素数
Inf
のベクトル (既定値) | 数値ベクトル
読み取る要素数。正の整数または Inf
値の数値ベクトルとして指定します。N
次元の変数について、各次元に沿って読み取る要素数を含む、長さが N
のベクトルとして count
を指定します。count
のいずれかの要素が Inf
の場合、ncread
は対応する次元の末尾まで読み取りを行います。
count
を指定しない場合、関数 ncread
は各次元の末尾まで変数データを読み取ります。
例: [Inf 10 50]
データ型: double
stride
— 変数インデックス間の間隔
1 のベクトル (既定値) | 数値ベクトル
各次元に沿った変数インデックス間の間隔。整数の数値ベクトルとして指定します。N
次元の変数について、長さ N
のベクトルとして stride
を指定します。ベクトル stride
の要素は、変数の次元に、同じ順序で対応しています。値が 1
の場合、対応する次元内の netCDF 変数の隣接する値にアクセスします。値が 2
の場合、対応する次元内の値に 1 つおきにアクセスし、以降同様に繰り返されます。
stride
を指定しない場合、関数 ncread
は各次元に沿って既定の間隔 1
でデータを読み取ります。
例: [2 10 1]
データ型: double
出力引数
vardata
— 変数データ
数値配列 | テキスト | cell 配列
変数データ。varname
の netCDF データ型に最良に適合する MATLAB データ型の数値配列、テキスト、または cell 配列として返されます。MATLAB による最良の適合の判別方法の詳細については、NetCDF から MATLAB データ型への変換を参照してください。
数値変数で、_FillValue
、scale_factor
、または add_offset
の各属性のうち少なくとも 1 つが存在する場合、vardata
は double
型になります。また、ncread
は、vardata
を返す前に、次の属性の規則を順番に適用します。
_FillValue
属性が存在する場合は、以下のようにします。vardata
がdouble
型またはsingle
型の場合、ncread
は_FillValue
属性の値に等しいvardata
値をNaN
値に置き換えます。vardata
がその他の数値型の場合、ncread
は、_FillValue
属性の値に等しいvardata
値およびNaN
のvardata
値を0
値に置き換えます。
scale_factor
属性が存在する場合、ncread
は、vardata
の値にscale_factor
属性の値を乗算します。add_offset
属性が存在する場合、ncread
は、vardata
の値にadd_offset
属性の値を加算します。
メモ
varname
が NC_STRING
型の場合、UTF-8 エンコード文字を含めることができます。varname
が NC_CHAR
型の場合、ASCII エンコード文字のみを含めることができます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| cell
| char
| string
詳細
NetCDF から MATLAB データ型への変換
netCDF 関連の MATLAB 関数は、次の表に従って、netCDF データ型に最良に適合する MATLAB データ型を自動的に選択します。
NetCDF データ型 | MATLAB データ型 |
---|---|
NC_DOUBLE | double |
NC_FLOAT | single |
NC_INT | int32 |
NC_SHORT | int16 |
NC_BYTE | int8 |
NC_CHAR | char |
NC_STRING (*) | string |
NC_INT64 (*) | int64 |
NC_UINT64 (*) | uint64 |
NC_UINT (*) | uint32 |
NC_USHORT (*) | uint16 |
NC_UBYTE (*) | uint8 |
ユーザー定義の NC_VLEN 型 (*) | cell |
(*) これらの netCDF データ型は netcdf4
形式のファイルでのみ使用可能です。
ヒント
MATLAB は多次元データを列優先として解釈しますが、netCDF C API は多次元データを行優先として解釈します。netCDF C API の多次元データは、MATLAB で示される順序の逆順で次元を示すため、結果として転置されて表示されます。
バージョン履歴
R2011a で導入R2022a: リモート データセットのバイト範囲読み取り
リモート サーバーがバイト範囲アクセスをサポートしている場合、リモート データセットへの読み取り専用のアクセスに ncread
を使用して、HTTP バイト範囲機能を使用できます。
R2022a: 可変長配列データ型 (NC_VLEN
) の読み取り
netCDF-4 ファイルから、可変長配列データ型 (NC_VLEN
) を読み取ることができます。
R2021b: NC_STRING
データの読み取り
netCDF-4 ファイルから NC_STRING
データを読み取ることができます。
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)