산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> MATLAB

MATLAB diff 명령으로 심볼릭 도함수 계산: 규칙 검증과 극값 찾기

diff 명령으로 도함수 계산

MATLAB diff 명령은 심볼릭 도함수를 계산합니다. 기본 형태: diff(f).

예제: f(t) = 3t² + 2t⁻² 미분

syms t
f = 3*t^2 + 2*t^(-2);
diff(f)

결과: ans = 6*t - 4/t^3

Octave equivalent

pkg load symbolic
symbols
t = sym("t");
f = 3*t^2 + 2*t^(-2);
differentiate(f, t)

미분 기본 규칙 검증

주요 규칙:

  1. 선형성: (af+bg)' = af' + bg'
  2. 합/차: (f±g)' = f' ± g'
  3. 곱: (fg)' = f'g + g'f
  4. 몫: (f/g)' = (f'g - g'f)/g²
  5. 거듭제곱: (xⁿ)' = n·xⁿ⁻¹, 상수 미분 = 0
  6. 연쇄 법칙: (f(g(x)))' = f'(g(x))·g'(x)

다양한 함수 미분 예제

syms x t
f = (x + 2)*(x^2 + 3);          der1 = diff(f)
f = (t^2 + 3)*(sqrt(t) + t^3);   der2 = diff(f)
f = (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2); der3 = diff(f)
f = (2*x^2 + 3*x)/(x^3 + 1);     der4 = diff(f)
f = (x^2 + 1)^17;                der5 = diff(f)
f = (t^3 + 3*t^2 + 5*t - 9)^(-6); der6 = diff(f)

결과는 곱/몫/연쇄 법칙이 적용된 형태로 나옵니다.

지수, 로그, 삼각함수 도함수표

함수도함수
c^(a·x)c^(a·x)·ln c·a
e^xe^x
ln x1/x
log_c x1/(x·ln c)
x^xx^x·(1+ln x)
sin xcos x
cos x-sin x
tan xsec²x = 1+tan²x
cot x-csc²x = -(1+cot²x)
sec xsec x·tan x
csc x-csc x·cot x

예제: 다양한 초월함수 미분

syms x
y = exp(x);        diff(y)  % exp(x)
y = x^9;           diff(y)  % 9*x^8
y = sin(x);        diff(y)  % cos(x)
y = tan(x);        diff(y)  % tan(x)^2 + 1
y = cos(x);        diff(y)  % -sin(x)
y = log(x);        diff(y)  % 1/x
y = log10(x);      diff(y)  % 1/(x*log(10))
y = sin(x)^2;      diff(y)  % 2*cos(x)*sin(x)
y = cos(3*x^2+2*x+1); diff(y) % -sin(...)*(6*x+2)
y = exp(x)/sin(x); diff(y)  % exp(x)/sin(x) - exp(x)*cos(x)/sin(x)^2

고차 도함수 계산

diff(f, n)으로 n계 도함수 계산.

f = x*exp(-3*x);
diff(f, 2)

결과: 9*x*exp(-3*x) - 6*exp(-3*x)

응용 예제: 미분방정식 검증

y = 3sin(x) + 7cos(5x) 일 때 y'' + y = -5cos(2x) 인가?

syms x
y = 3*sin(x) + 7*cos(5*x);
lhs = diff(y,2) + y;
rhs = -5*cos(2*x);
if isequal(lhs, rhs)
    disp('Yes, the equation holds true');
else
    disp('No, the equation does not hold true');
end
disp('Value of LHS is: '), disp(lhs)

결과: 성립하지 않음, LHS = -168*cos(5*x)

곡선의 극값(최대/최소) 찾기

정지점: f'(x) = 0 인 점. 구간 [-2, 2]에서 f(x) = 2x³ + 3x² - 12x + 17의 극값 찾기.

  1. 함수 정의 및 그래프: ezplot(y, [-2,2])
  2. 도함수: g = diff(y) → 6*x^2 + 6*x - 12
  3. 정지점: solve(g) → x = 1, -2
  4. 함수값 평가: subs(y, 1) = 10, subs(y, -2) = 37

따라서 구간 [-2,2]에서 최솟값 10(x=1), 최댓값 37(x=-2).

미분방정식 풀기 (dsolve)

dsolve로 심볼릭 해 구하기. 미분 표기: Df = f', D2y = f''.

1계: y' = 5y

dsolve('Dy = 5*y')

해: C2*exp(5*t)

2계: y'' - y = 0, y(0)=-1, y'(0)=2

dsolve('D2y - y = 0', 'y(0) = -1', 'Dy(0) = 2')

해: exp(t)/2 - (3*exp(-t))/2

MATLAB

  1. 디퍼렌셜이란? 역할, 종류, 유지보수 이해하기
  2. 디퍼렌셜 오일(기어 오일) 완벽 가이드: 목적, 종류, 관리법
  3. MATLAB 데이터 타입 완벽 가이드: 종류, 변환, 확인 방법
  4. MATLAB 연산자 마스터: 산술, 논리, 비트 연산 완벽 가이드
  5. MATLAB 행렬 기초 마스터: 생성, 참조, 데이터 조작
  6. MATLAB: 다차원 배열과 특수 배열 마스터하기
  7. MATLAB 콜론 연산자 마스터하기: 벡터 생성과 효율적 반복
  8. MATLAB 숫자 유형: 정수, 부동소수점, 변환과 범위 총정리
  9. MATLAB 문자열 완벽 가이드: 생성, 결합, 셀 배열 변환, 주요 함수
  10. MATLAB 함수 완전 정복: 정의, 워크스페이스, 입출력, 익명/중첩/비공개 함수