ncread
netCDF 데이터 소스의 변수에서 데이터 읽기
구문
설명
예제
NetCDF 변수 읽기
netCDF 파일 example.nc
에서 peaks
라는 이름의 변수를 읽어 들여 플로팅합니다.
peaksData = ncread("example.nc","peaks"); whos peaksData
Name Size Bytes Class Attributes peaksData 50x50 5000 int16
peaksData
를 플로팅하고 제목을 추가합니다.
surf(peaksData)
title("Peaks Data")
변수에서 데이터의 일부분 읽기
위치 [25 17]
부터 시작해 각 차원의 끝까지 peaks
변수 데이터의 일부만 읽어 들여 플로팅합니다.
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
이면 해당 차원에서 하나 걸러 하나의 값이 액세스되는 식입니다.
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
차원 변수에 대해 start
를 1부터 시작하는 인덱스를 포함하는 길이가 N
인 벡터로 지정합니다.
start
를 지정하지 않으면 ncread
함수는 각 차원을 따라 첫 번째 인덱스에서부터 변수를 읽어 들이기 시작합니다.
예: [2 1 3]
데이터형: double
count
— 요소 개수
Inf
로 구성된 벡터 (디폴트 값) | 숫자형 벡터
읽어 들일 요소 개수로, 양의 정수 또는 Inf
값으로 구성된 숫자형 벡터로 지정됩니다. N
차원 변수에 대해 count
를 길이가 N
인 벡터로 지정하고, 각 차원을 따라 읽어 들일 요소 개수를 포함합니다. count
의 요소에 Inf
가 하나라도 있는 경우 ncread
는 해당 차원의 끝까지 읽어 들입니다.
count
를 지정하지 않으면 ncread
함수는 각 차원의 끝까지 변수 데이터를 읽어 들입니다.
예: [Inf 10 50]
데이터형: double
stride
— 변수 인덱스 사이의 간격
1로 구성된 벡터 (디폴트 값) | 숫자형 벡터
각 차원에서 변수 인덱스 사이의 간격으로, 정수로 구성된 숫자형 벡터로 지정됩니다. N
차원 변수에 대해 stride
를 길이가 N
인 벡터로 지정합니다. stride
벡터의 요소는 순서대로 변수의 차원에 대응됩니다. 값이 1
이면 해당 차원에서 인접한 netCDF 변수의 값들이 차례로 액세스되고, 값이 2
이면 해당 차원에서 하나 걸러 하나의 값이 액세스되는 식입니다.
stride
를 지정하지 않으면 ncread
함수는 각 차원에서 디폴트 간격 1
을 사용하여 데이터를 읽어 들입니다.
예: [2 10 1]
데이터형: double
출력 인수
vardata
— 변수 데이터
숫자형 배열 | 텍스트 | 셀형 배열
변수 데이터로, 숫자형 배열, 텍스트, 또는 varname
의 netCDF 데이터형과 가장 일치하는 MATLAB 데이터형으로 구성된 숫자형 배열로 반환됩니다. MATLAB이 가장 일치하는 유형을 결정하는 방법은 NetCDF 데이터형을 MATLAB 데이터형으로 변환 항목을 참조하십시오.
숫자형 변수의 경우 특성 _FillValue
, scale_factor
, add_offset
중 하나라도 존재하면 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 명령 창에 입력하십시오. 웹 브라우저는 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)