Main Content

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');

Figure contains an axes object. The axes object with xlabel Xq, ylabel Zq contains an object of type surface.

참고 항목

|

관련 항목