3차원 그리드에서 2차원 선택 항목 보간하기
이 예제에서는 3차원의 그리드 평면 배열의 차원 수를 줄여서 2차원 보간 문제를 푸는 방법을 보여줍니다.
일부 응용 분야에서, 그리드보다 더 낮은 차원의 평면을 보간해야 할 수 있습니다(예: 3차원 그리드의 평면 보간). 3차원 그리드에서 그리드 평면을 추출할 경우, 추출 결과로 생성되는 배열은 3차원 형식일 수 있습니다. squeeze
함수를 사용하여 그리드 평면 배열의 차원 수를 줄여서 2차원 문제를 풀 수 있습니다.
3차원 샘플 그리드와 대응값을 만듭니다.
[X,Y,Z] = ndgrid(1:5); V = X.^2 + Y.^2 +Z;
그리드에서 2차원 샘플을 선택합니다. 여기에서는 샘플의 세 번째 열을 선택합니다.
x = X(:,3,:); z = Z(:,3,:); v = V(:,3,:);
Y=3
으로 2차원 평면이 생기고 Y
차원은 고정됩니다. x
, z
, v
는 5×1×5 배열입니다. 보간 함수를 실행하기 전에 이 배열을 2차원 배열로 줄여야 합니다.
squeeze
함수를 사용하여 x
, z
, v
를 2차원 배열로 줄입니다.
x = squeeze(x); z = squeeze(z); v = squeeze(v);
더 촘촘한 쿼리 점 그리드에서 2차원 슬라이스를 보간합니다.
[Xq,Zq] = ndgrid(1:0.5:5); Vq = interpn(x,z,v,Xq,Zq);
결과를 플로팅합니다.
figure surf(Xq,Zq,Vq); xlabel('Xq'); ylabel('Zq'); zlabel('Vq');