Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

gradient

스칼라 함수의 기울기 벡터

설명

예제

gradient(f,v)는 카테시안 좌표에서 벡터 v에 대한 스칼라 함수 f의 기울기 벡터를 구합니다.

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

예제

함수의 기울기 구하기

벡터 v에 대한 함수 f의 기울기는 v의 각 요소에 대한 f의 1계 편도함수로 구성된 벡터입니다.

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

syms x y z
f = 2*y*z*sin(x) + 3*x*sin(z)*cos(y);
gradient(f, [x, y, z])
ans =
 3*cos(y)*sin(z) + 2*y*z*cos(x)
 2*z*sin(x) - 3*x*sin(y)*sin(z)
 2*y*sin(x) + 3*x*cos(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 =
 -2*cos(x)*(sin(x) + sin(y))
 -2*cos(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)

입력 인수

모두 축소

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

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

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

세부 정보

모두 축소

기울기 벡터

벡터 x에 대한 f(x)의 기울기 벡터는 f의 1계 편도함수로 구성된 벡터입니다.

f=(fx1,fx2,,fxn)

R2011b에 개발됨