Main Content

jacobian

기호 함수로 구성된 야코비 행렬

설명

예제

jacobian(f,v)v에 대해 기호 함수 f야코비 행렬을 계산합니다. 결과의 (i,j) 요소는 f(i)v(j)입니다.

예제

모두 축소

벡터 함수의 야코비 행렬은 해당 함수의 편도함수 행렬입니다.

[x,y,z]에 대해 [x*y*z,y^2,x + z]의 야코비 행렬을 계산합니다.

syms x y z
jacobian([x*y*z,y^2,x + z],[x,y,z])
ans = 

(yzxzxy02y0101)

이제 [x;y;z]에 대해 [x*y*z,y^2,x + z]의 야코비 행렬을 계산합니다.

jacobian([x*y*z,y^2,x + z], [x;y;z])
ans = 

(yzxzxy02y0101)

야코비 행렬은 두 번째 입력 위치에 있는 벡터의 방향에 불변합니다.

스칼라 함수의 야코비 행렬은 해당 함수의 기울기의 전치입니다.

[x,y,z]에 대해 2*x + 3*y + 4*z의 야코비 행렬을 계산합니다.

syms x y z
jacobian(2*x + 3*y + 4*z,[x,y,z])
ans = (234)

이제 같은 표현식의 기울기를 계산합니다.

gradient(2*x + 3*y + 4*z,[x,y,z])
ans = 

(234)

스칼라에 대한 함수의 야코비 행렬은 해당 함수의 1계 도함수입니다. 벡터 함수의 경우 스칼라에 대한 야코비 행렬은 1계 도함수로 구성된 벡터입니다.

x에 대해 [x^2*y,x*sin(y)]의 야코비 행렬을 계산합니다.

syms x y
jacobian([x^2*y,x*sin(y)],x)
ans = 

(2xysin(y))

이제 도함수를 계산합니다.

diff([x^2*y,x*sin(y)],x)
ans = (2xysin(y))

시간 함수인 극좌표 r(t), ϕ(t)θ(t)를 지정합니다.

syms r(t) phi(t) theta(t)

구면 좌표에서 카테시안 좌표로의 좌표 변환을 정의합니다.

R = [r*sin(phi)*cos(theta), r*sin(phi)*sin(theta), r*cos(phi)]
R(t) = (cos(θ(t))sin(ϕ(t))r(t)sin(ϕ(t))sin(θ(t))r(t)cos(ϕ(t))r(t))

구면 좌표에서 카테시안 좌표로의 좌표 변환에 대한 야코비 행렬을 구합니다.

jacobian(R,[r,phi,theta])
ans(t) = 

(cos(θ(t))sin(ϕ(t))cos(ϕ(t))cos(θ(t))r(t)-sin(ϕ(t))sin(θ(t))r(t)sin(ϕ(t))sin(θ(t))cos(ϕ(t))sin(θ(t))r(t)cos(θ(t))sin(ϕ(t))r(t)cos(ϕ(t))-sin(ϕ(t))r(t)0)

입력 인수

모두 축소

스칼라 함수 또는 벡터 함수로, 기호 표현식, 기호 함수 또는 기호 벡터로 지정됩니다. f가 스칼라이면 f의 야코비 행렬은 f의 전치된 기울기입니다.

야코비 행렬을 계산할 변수 또는 함수로 구성된 벡터로, 기호 변수, 기호 함수 또는 기호 변수로 구성된 기호 벡터로 지정됩니다. v가 스칼라이면 결과는 diff(f,v)의 전치와 같습니다. v가 빈 기호 객체(예: sym([]))이면 jacobian는 빈 기호 객체를 반환합니다.

세부 정보

모두 축소

야코비 행렬(Jacobian Matrix)

벡터 함수 f = (f1(x1,...,xn),...,fn(x1,...,xn))의 야코비 행렬은 f의 도함수 행렬입니다.

J(x1,xn)=[f1x1f1xnfnx1fnxn]

버전 내역

R2006a 이전에 개발됨