Main Content

gradient

스칼라 함수의 기울기 벡터

설명

예제

g = gradient(f,v)는 카테시안 좌표에서 벡터 v에 대한 스칼라 함수 f의 기울기 벡터를 구합니다. 입력값 f는 기호 스칼라 변수로 구성된 함수이고 벡터 v는 스칼라 미분 변수를 지정합니다.

g = gradient(f)f에서 찾은 모든 기호 스칼라 변수로부터 생성된 벡터에 대한 스칼라 함수 f의 기울기 벡터를 구합니다. 이 벡터의 변수 순서는 symvar로 정의됩니다.

gM = gradient(fM,vM)은 카테시안 좌표에서 벡터 vM에 대한 스칼라 함수 fM의 기울기 벡터를 구합니다. 입력 함수 fM은 기호 행렬 변수로 구성된 함수이고 벡터 vM1×N 또는 N×1 크기의 기호 행렬 변수입니다.

예제

모두 축소

벡터 v에 대한 스칼라 함수 f의 기울기는 v의 각 요소에 대한 f의 1계 편도함수의 벡터입니다.

벡터 [x,y,z]에 대한 f(x,y,z)의 기울기 벡터를 구합니다. 기울기는 다음의 성분을 갖는 벡터입니다.

syms x y z
f(x,y,z) = 2*y*z*sin(x) + 3*x*sin(z)*cos(y);
gradient(f,[x,y,z])
ans(x, y, z) = 

(3cos(y)sin(z)+2yzcos(x)2zsin(x)-3xsin(y)sin(z)2ysin(x)+3xcos(y)cos(z))

함수 f(x,y)의 기울기를 구하고 퀴버(속도) 플롯으로 플로팅합니다.

벡터 [x,y]에 대한 f(x,y)의 기울기 벡터를 구합니다. 기울기는 다음의 성분을 갖는 벡터 g입니다.

syms x y
f = -(sin(x) + sin(y))^2;
g = gradient(f,[x,y])
g = 

(-2cos(x)sin(x)+sin(y)-2cos(y)sin(x)+sin(y))

이제 이들 성분으로 정의된 벡터장을 플로팅합니다. MATLAB®은 이 작업을 위해 quiver 플로팅 함수를 제공합니다. 이 함수는 기호 인수를 받지 않습니다. 먼저 g 성분에 대한 표현식의 기호 변수를 숫자형 값으로 바꿉니다. 그런 다음 quiver를 사용합니다.

[X, Y] = meshgrid(-1:.1:1,-1:.1:1);
G1 = subs(g(1),[x y],{X,Y});
G2 = subs(g(2),[x y],{X,Y});
quiver(X,Y,G1,G2)

Figure contains an axes object. The axes object contains an object of type quiver.

기호 행렬 변수를 사용하여 스칼라를 반환하는 행렬 곱셈을 정의합니다.

syms X Y [3 1] matrix
A = Y.'*X
A = YTX

X에 대한 행렬 곱셈의 기울기를 구합니다.

gX = gradient(A,X)
gX = Y

Y에 대한 행렬 곱셈의 기울기를 구합니다.

gY = gradient(A,Y)
gY = X

다음 다변수 함수의 기울기를

f(x)=sin2(x1,1)+sin2(x1,2)+sin2(x1,3)

벡터 x=[x1,1,x1,2,x1,3]에 대해 구합니다.

기호 행렬 변수를 사용하여 벡터 x에 대한 함수 f와 기울기를 표현합니다.

syms x [1 3] matrix
f = sin(x)*sin(x).'
f = sin(x)sin(x)T
g = gradient(f,x)
g = 2cos(x)I3sin(x)T

x의 요소에 대한 기울기를 표시하려면 해당 결과를 symmatrix2sym을 사용하여 기호 스칼라 변수로 구성된 벡터로 변환합니다.

g = symmatrix2sym(g)
g = 

(2cos(x1,1)sin(x1,1)2cos(x1,2)sin(x1,2)2cos(x1,3)sin(x1,3))

또는 fx를 스칼라 변수로 구성된 기호 표현식으로 변환하고 이를 gradient 함수에 대한 입력값으로 사용할 수 있습니다.

g = gradient(symmatrix2sym(f),symmatrix2sym(x))
g = 

(2cos(x1,1)sin(x1,1)2cos(x1,2)sin(x1,2)2cos(x1,3)sin(x1,3))

입력 인수

모두 축소

스칼라 함수로, 기호 스칼라 변수로 구성된 함수인 기호 표현식 또는 기호 함수로 지정됩니다.

데이터형: sym | symfun

기울기 벡터를 구할 벡터로, 기호 벡터로 지정됩니다. 기본적으로 vf에서 찾은 모든 기호 스칼라 변수로부터 생성된 벡터입니다. 이 벡터의 변수 순서는 symvar로 정의됩니다.

v가 스칼라이면 gradient(f,v) = diff(f,v)입니다. v가 빈 기호 객체(예: sym([]))이면 gradient는 빈 기호 객체를 반환합니다.

데이터형: sym

스칼라 함수로, 기호 행렬 변수로 구성된 함수인 기호 표현식으로 지정됩니다.

데이터형: symmatrix

기울기 벡터를 구할 벡터로, 1×N 또는 N×1 크기의 기호 행렬 변수로 지정됩니다.

데이터형: symmatrix

출력 인수

모두 축소

기울기 벡터로, 기호 스칼라 변수로 구성된 함수인 기호 표현식 또는 기호 함수로 반환됩니다.

데이터형: sym | symfun

기울기 벡터로, 기호 행렬 변수로 구성된 함수인 기호 표현식으로 반환됩니다.

데이터형: symmatrix

세부 정보

모두 축소

기울기 벡터

벡터 x=(x1,x2,,xn)에 대한 f(x)의 기울기 벡터는 f의 1계 편도함수의 벡터입니다.

xf(x)=(fx1,fx2,,fxn)

버전 내역

R2011b에 개발됨

모두 확장