곡면에 대한 접평면 계산하기
이 예제에서는 유한 차분으로 함수 기울기(Gradient)의 근삿값을 계산하는 방법을 보여줍니다. 그런 다음 이러한 기울기 근삿값을 사용하여 곡면의 특정 지점에 대한 접평면을 플로팅하는 방법을 보여줍니다.
함수 핸들을 사용하여 함수 을 생성합니다.
f = @(x,y) x.^2 + y.^2;
gradient
함수를 사용하여 와 에 대한 의 편도함수의 근삿값을 구합니다. 메시 크기와 동일한 유한 차분 길이를 선택합니다.
[xx,yy] = meshgrid(-5:0.25:5); [fx,fy] = gradient(f(xx,yy),0.25);
곡면의 특정 지점에 대한 접평면 은 다음과 같이 지정됩니다.
fx
행렬과 fy
행렬은 편도함수 와 에 대한 근삿값입니다. 이 예제에서 관심 있는 지점, 즉 접평면이 함수 곡면과 만나는 지점은 (x0,y0) = (1,2)
입니다. 이 관심 있는 지점에서의 함수 값은 f(1,2) = 5
입니다.
접평면 z
에 대한 근삿값을 구하려면 이 관심 있는 지점에서의 도함수 값을 구해야 합니다. 해당 지점의 인덱스를 구하고 거기서 도함수 근삿값을 구하십시오.
x0 = 1; y0 = 2; t = (xx == x0) & (yy == y0); indt = find(t); fx0 = fx(indt); fy0 = fy(indt);
접평면 z
에 대한 방정식을 사용하여 함수 핸들을 만듭니다.
z = @(x,y) f(x0,y0) + fx0*(x-x0) + fy0*(y-y0);
원래 함수 , 점 P
, P
에서 함수에 접하는 평면 부분인 z
를 플로팅합니다.
surf(xx,yy,f(xx,yy),'EdgeAlpha',0.7,'FaceAlpha',0.9) hold on surf(xx,yy,z(xx,yy)) plot3(1,2,f(1,2),'r*')
측면 프로파일을 확인합니다.
view(-135,9)