이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
ndgrid
N차원 공간의 사각 그리드
설명
[
은 그리드 벡터 X1,X2,...,Xn
] = ndgrid(x1,x2,...,xn
)x1,x2,...,xn
을 복제하여 n
차원의 전체 그리드를 생성합니다.
[
는 단일 그리드 벡터 X1,X2,...,Xn
] = ndgrid(xg
)xg
를 지정하여 모든 차원에 사용합니다. 지정하는 출력 인수 개수에 따라 출력의 차원 수 n
이 결정됩니다.
예제
2D 그리드 만들기
벡터 [1 3 5 7 9 11 13 15 17 19]
와 벡터 [2 4 6 8 10 12]
에서 2D 그리드를 만듭니다.
[X,Y] = ndgrid(1:2:19,2:2:12)
X = 10×6
1 1 1 1 1 1
3 3 3 3 3 3
5 5 5 5 5 5
7 7 7 7 7 7
9 9 9 9 9 9
11 11 11 11 11 11
13 13 13 13 13 13
15 15 15 15 15 15
17 17 17 17 17 17
19 19 19 19 19 19
Y = 10×6
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
2 4 6 8 10 12
보간을 사용하여 그리드 미세 조정하기
사각 그리드를 만들고 그리드에서 함수 값을 계산합니다. 대입된 값 사이를 보간하여 그리드를 미세 조정합니다.
의 범위가 이고 의 범위가 인 에 대한 성긴 그리드를 생성합니다.
[X,Y] = ndgrid(-6:0.5:6,-3:0.5:3);
그리드에 정의된 위치에서 함수 값을 구합니다. 그런 다음, 곡면 플롯을 사용하여 함수를 시각화합니다. 또는 R2016b부터 이 작업에 묵시적 확장을 사용할 수 있습니다.
f = sin(X.^2) .* cos(Y.^2); surf(Y,X,f)
더 미세 조정된 그리드 (Xq,Yq)
의 점 사이를 보간합니다. 그런 다음, 곡면 플롯을 사용하여 보간된 값을 시각화합니다.
[Xq,Yq] = ndgrid(-6:0.125:6,-3:0.125:3);
F = interpn(X,Y,f,Xq,Yq,"spline");
surf(Yq,Xq,F)
입력 인수
x1,x2,...,xn
— 그리드 벡터(개별 인수)
벡터
그리드 벡터로, 각 차원에 대한 그리드 좌표를 포함하는 벡터로 지정됩니다. 그리드 벡터는 묵시적으로 그리드를 정의합니다. 예를 들어, 2차원의 경우는 다음과 같습니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
복소수 지원 여부: 예
xg
— 모든 차원에 대한 그리드 벡터
벡터
모든 차원에 대한 그리드 벡터로, 그리드 좌표를 포함하는 벡터로 지정됩니다. ndgrid
는 각 차원에 대해 xg
를 그리드 벡터로 사용합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
복소수 지원 여부: 예
출력 인수
X1,X2,...,Xn
— 전체 그리드 표현
배열
전체 그리드 표현으로, 개별 배열로 반환됩니다. 각 출력 배열 Xi
의 경우, i
번째 차원은 그리드 벡터 xi
의 복사본을 포함합니다.
세부 정보
meshgrid
형식과 ndgrid
형식 간의 변환
meshgrid
와 ndgrid
는 서로 다른 출력 형식을 사용하여 그리드를 만듭니다. 이들 함수 중 하나를 사용하여 만든 그리드의 처음 두 차원은 다른 하나의 형식과 비교했을 때 맞바뀌어 있습니다. 일부 MATLAB® 함수는 meshgrid
형식의 그리드를 사용하고 일부 함수는 ndgrid
형식을 사용하므로 그리드를 두 가지 형식 간에 자주 변환하게 됩니다.
이들 그리드 형식은 pagetranspose
(R2020b 이상) 또는 permute
를 사용하여 그리드 배열의 처음 두 차원을 맞바꿈으로써 변환할 수 있습니다. 예를 들어, meshgrid
를 사용하여 3차원 그리드를 만듭니다.
[X,Y,Z] = meshgrid(1:4,1:3,1:2);
각 그리드 배열의 처음 두 차원을 전치하여 그리드를 ndgrid
형식으로 변환하고, 이 결과를 ndgrid
의 출력값과 비교합니다.
Xt = pagetranspose(X); Yt = pagetranspose(Y); Zt = pagetranspose(Z); [Xn,Yn,Zn] = ndgrid(1:4,1:3,1:2); isequal(Xt,Xn) & isequal(Yt,Yn) & isequal(Zt,Zn)
ans = logical 1
pagetranspose
를 사용하는 것은 나머지 차원은 그대로 두고 처음 두 개 차원을 치환하는 것과 동일합니다. permute(X,[2 1 3:ndims(X)])
를 사용하여 이 작업을 수행할 수도 있습니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
1차원 구문
X = ndgrid(x)
는 1차원 그리드로 사용할 입력gpuArray
x
의 요소를 포함하는gpuArray
열 벡터X
를 반환합니다.입력값은 배정밀도 또는 단정밀도 부동소수점이어야 합니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
사용법 관련 참고 및 제한 사항:
1차원 구문
X = ndgrid(x)
는 1차원 그리드로 사용할 입력 분산 배열x
의 요소를 포함하는 분산 배열 열 벡터X
를 반환합니다.입력값은 배정밀도 또는 단정밀도 부동소수점이어야 합니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
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)