Main Content

diff

기호 표현식 또는 기호 함수 미분

설명

예제

Df = diff(f)symvar(f,1)에 의해 결정된 기호 변수에 대해 f를 미분합니다.

예제

Df = diff(f,n)symvar에 의해 결정된 기호 변수에 대해 fn번째 도함수를 계산합니다.

예제

Df = diff(f,var)은 미분 파라미터 var에 대해 f를 미분합니다. var은 기호 변수(예: x), 기호 함수(예: f(x)) 또는 도함수(예: diff(f(t),t))일 수 있습니다.

예제

Df = diff(f,var,n)var에 대해 fn번째 도함수를 계산합니다.

예제

Df = diff(f,var1,...,varN)은 파라미터 var1,...,varN에 대해 f를 미분합니다.

예제

모두 축소

함수 sin(x^2)의 도함수를 구합니다.

syms f(x)
f(x) = sin(x^2);
Df = diff(f,x)
Df(x) = 2xcos(x2)2*x*cos(x^2)

x = 2의 도함수 값을 구합니다. 값을 double형으로 변환합니다.

Df2 = Df(2)
Df2 = 4cos(4)sym(4)*cos(sym(4))
double(Df2)
ans = -2.6146

다음 표현식의 1계 도함수를 구합니다.

syms x t
Df = diff(sin(x*t^2))
Df = t2cos(t2x)t^2*cos(t^2*x)

미분 변수를 지정하지 않았기 때문에 diffsymvar에 의해 정의된 디폴트 변수를 사용합니다. 이 표현식에서 디폴트 변수는 x입니다.

var = symvar(sin(x*t^2),1)
var = xx

이제 변수 t에 대해 이 표현식의 도함수를 구합니다.

Df = diff(sin(x*t^2),t)
Df = 2txcos(t2x)2*t*x*cos(t^2*x)

t6의 4계, 5계, 6계 도함수를 구합니다.

syms t
D4 = diff(t^6,4)
D4 = 360t2360*t^2
D5 = diff(t^6,5)
D5 = 720t720*t
D6 = diff(t^6,6)
D6 = 720sym(720)

변수 y에 대해 다음 표현식의 2계 도함수를 구합니다.

syms x y
Df = diff(x*cos(x*y), y, 2)
Df = -x3cos(xy)-x^3*cos(x*y)

표현식 x*y의 2계 도함수를 계산합니다. 미분 변수를 지정하지 않으면 diff에서 symvar에 의해 결정된 변수를 사용합니다. 이 표현식에서 symvar(x*y,1)x를 반환합니다. 따라서 diffx에 대해 x*y의 2계 도함수를 계산합니다.

syms x y
Df = diff(x*y,2)
Df = 0sym(0)

중첩 diff 호출을 사용할 때 미분 변수를 지정하지 않으면 diff가 각 호출의 미분 변수를 결정합니다. 예를 들어, diff 함수를 두 번 호출하여 표현식 x*y를 미분해 보십시오.

Df = diff(diff(x*y))
Df = 1sym(1)

첫 번째 호출에서 diffx에 대해 x*y를 미분하고 y를 반환합니다. 두 번째 호출에서 diffy에 대해 y를 미분하고 1을 반환합니다.

따라서 diff(x*y,2)diff(x*y,x,x)와 동등하고, diff(diff(x*y))diff(x*y,x,y)와 동등합니다.

변수 xy에 대해 다음 표현식을 미분합니다.

syms x y
Df = diff(x*sin(x*y),x,y)
Df = 2xcos(xy)-x2ysin(xy)2*x*cos(x*y) - x^2*y*sin(x*y)

모든 미분 변수를 제공하여 혼합 고계 도함수를 계산할 수도 있습니다.

syms x y
Df = diff(x*sin(x*y),x,x,x,y)
Df = x2y3sin(xy)-6xy2cos(xy)-6ysin(xy)x^2*y^3*sin(x*y) - 6*x*y^2*cos(x*y) - 6*y*sin(x*y)

f(x)에 대해 함수 y=f(x)2dfdx의 도함수를 구합니다.

syms f(x) y
y = f(x)^2*diff(f(x),x);
Dy = diff(y,f(x))
Dy = 

2f(x)x f(x)2*f(x)*diff(f(x), x)

f(x)에 대해 함수 y=f(x)2dfdx의 2계 도함수를 구합니다.

Dy2 = diff(y,f(x),2)
Dy2 = 

2x f(x)2*diff(f(x), x)

f(x)dfdx에 대해 함수 y=f(x)2dfdx의 혼합 도함수를 구합니다.

Dy3 = diff(y,f(x),diff(f(x)))
Dy3 = 2f(x)2*f(x)

질량-용수철 시스템의 운동을 설명하는 오일러-라그랑주 방정식을 구합니다. 이 시스템의 운동 에너지와 위치 에너지를 정의합니다.

syms x(t) m k
T = m/2*diff(x(t),t)^2;
V = k/2*x(t)^2;

라그랑주를 정의합니다.

L = T - V
L = 

mt x(t)22-kx(t)22(m*(diff(x(t), t))^2)/2 - (k*x(t)^2)/2

오일러-라그랑주 방정식은 다음과 같이 지정됩니다.

0=ddtL(t,x,x˙)x˙-L(t,x,x˙)x

L/x˙를 계산합니다.

D1 = diff(L,diff(x(t),t))
D1 = 

mt x(t)m*diff(x(t), t)

두 번째 항 L/x를 계산합니다.

D2 = diff(L,x)
D2(t) = -kx(t)-k*x(t)

질량-용수철 시스템의 운동에 대한 오일러-라그랑주 방정식을 구합니다.

diff(D1,t) - D2 == 0
ans(t) = 

m2t2 x(t)+kx(t)=0m*diff(x(t), t, 2) + k*x(t) == 0

입력 인수

모두 축소

미분할 표현식 또는 함수로, 기호 표현식이나 기호 함수로, 또는 기호 표현식이나 함수로 구성된 벡터나 행렬로 지정됩니다. f가 벡터 또는 행렬인 경우 difff의 각 요소를 미분하고 f와 동일한 크기의 벡터 또는 행렬을 반환합니다.

미분 파라미터로, 기호 변수, 기호 함수 또는 도함수 diff로 지정됩니다.

기호 함수 var = f(x) 또는 도함수 var = diff(f(x),x)에 대해 미분을 지정하는 경우 첫 번째 인수 f는 다음을 포함해서는 안 됩니다.

  • 적분 변환(예: fourier, ifourier, laplace, ilaplace, htrans, ihtrans, ztrans, iztrans)

  • limit 또는 int를 포함하는 미평가 기호 표현식

  • 특정 점에서 평가된 기호 함수(예: f(2) 또는 g(0))

미분 파라미터로, 기호 변수, 기호 함수 또는 기호 diff 함수로 지정됩니다.

미분 계수로, 음이 아닌 정수로 지정됩니다.

  • 둘 이상의 변수를 갖는 혼합 고계 도함수를 계산할 때는 n을 사용하여 미분 계수를 지정하지 마십시오. 대신 모든 미분 변수를 명시적으로 지정하십시오.

  • 더 나은 성능을 위해 diff는 모든 혼합 도함수 간에는 교환 법칙이 성립한다고 가정합니다. 예를 들어, 다음과 같습니다.

    xyf(x,y)=yxf(x,y)

    대부분의 공학 및 과학 문제는 이 가정으로 충분합니다.

  • 미분 변수를 지정하지 않고 다변량 표현식 또는 함수 f를 미분하면 diffdiff(f,n)에 대한 중첩 호출이 다른 결과를 반환할 수 있습니다. 중첩 호출에서는 각 미분 단계에서 자체적으로 미분 변수를 결정하고 사용하기 때문입니다. diff(f,n)과 같은 호출에서 미분 변수는 symvar(f,1)에 의해 한 번 결정되고 모든 미분 단계에 사용됩니다.

  • abs 또는 sign을 포함하는 표현식이나 함수를 미분하려면 인수가 실수 값인지 확인하십시오. abssign의 인수가 복소수인 경우 diff 함수가 도함수를 형식적으로 계산하지만 이 결과는 일반적으로 유효하지 않습니다. 왜냐하면 abssign은 복소수 범위에서 미분할 수 없기 때문입니다.

R2006a 이전에 개발됨