Main Content

ncread

NetCDF データ ソース内の変数からデータを読み取る

説明

vardata = ncread(source,varname) は、source に含まれる変数 varname のデータをすべて読み取ります。

vardata = ncread(source,varname,start,count) は、start で指定された位置から始まるデータを読み取ります。count 引数は、各次元に沿って読み取る要素数を指定します。

vardata = ncread(source,varname,start,count,stride) は、stride で指定された変数の各次元のインデックス間の間隔でデータを返します。

すべて折りたたむ

example.nc ファイルから peaks という名前の変数を読み取り、プロットします。

peaksData  = ncread('example.nc','peaks');
whos peaksData
  Name            Size            Bytes  Class    Attributes

  peaksData      50x50             5000  int16              

peaksData をプロットして、タイトルを追加します。

surf(double(peaksData));
title('Peaks Data');

Figure contains an axes object. The axes object with title Peaks Data contains an object of type surface.

変数データのうち、位置 [25 17] から各次元の末尾までの部分のみを読み取ってプロットします。

startLoc = [25 17]; % Start location along each coordinate
count  = [Inf Inf]; % Read until the end of each dimension
peaksData  = ncread('example.nc','peaks',startLoc,count);
whos peaksData
  Name            Size            Bytes  Class    Attributes

  peaksData      26x34             1768  int16              

データをプロットします。

surf(double(peaksData));
title('Peaks Data Starting at [25 17]');

Figure contains an axes object. The axes object with title Peaks Data Starting at [25 17] contains an object of type surface.

データを読み取ってプロットします。ここで、データは各次元に沿って、指定された変数インデックス間の間隔でサンプリングされます。読み取りは startLoc の位置から開始し、stride で指定された間隔で変数データを読み取ります。stride の値が 1 の場合、対応する次元内の連続する値にアクセスします。値が 2 の場合、対応する次元内の値に 1 つおきにアクセスし、以降同様です。

startLoc = [1 1]; 
count  = [10 15]; 
stride = [2 3]; 
sampledPeaksData  = ncread('example.nc','peaks',startLoc,count,stride);
whos sampledPeaksData
  Name                   Size            Bytes  Class    Attributes

  sampledPeaksData      10x15              300  int16              

データをプロットします。

surf(double(sampledPeaksData));
title('Peaks Data Subsampled by [2 3]');

Figure contains an axes object. The axes object with title Peaks Data Subsampled by [2 3] contains an object of type surface.

入力引数

すべて折りたたむ

NetCDF データ ソースの名前。string スカラーまたは文字ベクトルとして指定します。引数 source には、次の値のいずれかを指定できます。

  • ローカルの NetCDF ソースのパス

  • リモートの OPeNDAP NetCDF データ ソースの OPeNDAP URL

  • リモートの NetCDF ソースの HTTP URL。その URL の末尾に #mode=bytes を付け加えてバイト範囲読み取りを有効にする

    メモ

    バイト範囲読み取りは、他のソースからの読み取りよりも遅くなります。バイト範囲読み取りの詳細については、NetCDF のドキュメンテーションを参照してください。

例: "myNetCDFfile.nc"

変数名。NetCDF データ ソース内の変数名を含む string スカラーまたは文字ベクトルとして指定します。

データ型: string | char

開始位置。正の整数の数値ベクトルとして指定します。N 次元の変数について、start は 1 ベースのインデックスを含む、長さ N のベクトルです。

start を指定しない場合、関数 ncread は各次元に沿って、最初のインデックスから変数の読み取りを開始します。

データ型: double

読み取る要素数。正の整数の数値ベクトルとして指定します。N 次元の変数について、count は長さが N のベクトルであり、各次元に沿って読み取る要素数を指定します。count のいずれかの要素が Inf の場合、ncread は対応する次元の末尾まで読み取りを行います。

count を指定しない場合、関数 ncread は各次元の末尾まで変数データを読み取ります。

データ型: double

各次元に沿った変数インデックス間の間隔。整数の数値ベクトルとして指定します。N 次元の変数について、stride は長さが N のベクトルです。ベクトル stride の要素は、変数の次元に、同じ順序で対応しています。値が 1 の場合、対応する次元内の NetCDF 変数の隣接する値にアクセスします。一方、値が 2 の場合、対応する次元内の NetCDF 変数の値に 1 つおきにアクセスし、以降同様に繰り返されます。

stride を指定しない場合、関数 ncread は各次元に沿って既定の間隔 1 でデータを読み取ります。

データ型: double

出力引数

すべて折りたたむ

変数データ。varname の NetCDF データ型に最良に適合するデータ型として返されます。MATLAB® による最良の適合の判別方法の詳細については、詳細を参照してください。

数値データ型で、_FillValuescale_factor、または add_offset の各変数属性のうち少なくとも 1 つが存在する場合、ncreaddouble 型の vardata を返します。さらに、ncread には以下の規則が適用されます。

  • _FillValue 属性が存在する場合、ncread_FillValue 値と等しい vardata 値を NaN に置き換えます。_FillValue 属性が存在しない場合、ncread は、NetCDF ライブラリに変数の埋め込み値をクエリします。

  • scale_factor 属性が存在する場合、ncread は、変数データに scale_factor 属性の値を乗算します。

  • add_offset 属性が存在する場合、ncread は、変数データに add_offset 属性の値を加算します。

メモ

NC_CHAR 型の変数について、関数 ncread は ASCII エンコード文字のみを含む vardata の読み取りをサポートしています。UTF-8 エンコード文字の読み取りは、NetCDF-4 ファイル内の NC_STRING 型の変数でサポートされています。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | cell | char | string

詳細

すべて折りたたむ

NetCDF から MATLAB データ型への変換

NetCDF 関連の MATLAB 関数は、次の表に従って、NetCDF データ型に最良に適合する MATLAB データ型を自動的に選択します。

NetCDF データ型MATLAB データ型
NC_DOUBLEdouble
NC_FLOATsingle
NC_INT64 (NetCDF-4 ファイルのみ)int64
NC_UINT64 (NetCDF-4 ファイルのみ)uint64
NC_INTint32
NC_UINT (NetCDF-4 ファイルのみ)uint32
NC_SHORTint16
NC_USHORT (NetCDF-4 ファイルのみ)uint16
NC_BYTEint8
NC_UBYTE (NetCDF-4 ファイルのみ)uint8
NC_CHARchar
NC_STRING (NetCDF-4 ファイルのみ)string
ユーザー定義の NC_VLEN 型 (NetCDF-4 ファイルのみ)cell

バージョン履歴

R2011a で導入

すべて展開する