내용
고계도 미분
고계도 함수(higher order function)를 함수를 여러 번 미분하는 것을 고계도 미분이라고 합니다. 함수
- [첫번째 미분]
- [두번째 미분]
- [세번째 미분]
- [네번째 미분]
- [다섯번째 미분]
- [여섯째 미분]
위의 식 y = x5는 독립변수 x에 대한 종속변수 y의 함수입니다. 일반적으로 함수는 φ(), f() 등으로 나타냅니다. 그러므로 다음과 같이 표현할 수 있습니다.
x에 관한 y의 미분을 나타내는
4차 미분 이상에서는 함수 기호 f의 위첨자에 `(숫자)'를 첨가하는 형태로 나타냅니다.
import numpy as np import pandas as pd from sympy import *
예 1)
다음 함수에 대해 최종 미분 값이 0이 될 때까지 고계도 미분을 계산해 봅시다.
x=symbols("x") f=7*x**4+Rational('7/2')*x**3-Rational('1/2')*x**2+x-2 f
d1f=f.diff(x) d1f
d2f=f.diff(x, 2) d2f
d3f=f.diff(x, 3) d3f
d4f=f.diff(x, 4) d4f
d5f=f.diff(x, 5) d5f
고계도미분의 적용
시간이 독립 변수로 작용하는 문제들은 미적분이 적용되는 중요한 분야로 예를 들어 시간이 변할 때 변하는 어떠한 양에 대한 값을 찾는 문제를 고려할 수 있습니다. 어떤 양은 시간에 따라 증가하지만 감소하는 양도 존재합니다. 기차는 시간에 따라 출발지에서 멀어지지만 도착 지점에는 가까워지는 예를 생각할 수 있지요.
시간과 관계된 경우에서 비율(rate)은 어떤 일이 일어나는 시간의 길이 당 일어나는 일의 양에 대한 비를 의미합니다. 예를 들어 초당 1m를 이동하는 것은 분당 60m를 이동하는 것과 같지만 초와 분이 같지는 않습니다. 이러한 비율을 속도라고 하는데 두 속도가 같다는 것은 통과한 거리에 대한 소요되는 시간의 비율이 동일하다는 것을 의미합니다.
다른 예로 어떤 사람이 초당 10원을 사용한다고 하면 분당 600원 시간 당 36000원 그리고 하루에 864000을 사용할 수 있다고 할수 있습니다. 이 비율을 미분으로 나타내 볼 수 있습니다. 소비하는 돈을 y, 시간을 t라고 하면 매우 짧은 시간 당 소비하는 돈의 비율은
400km를 가는데 4시간이 걸리는 기차의 속도는
속도가 일정하지 않고 증가하거나 감소할 경우를 가속도(a)라고 하며 속도에 대한 비율로서 다음과 같이 나타낼 수 있습니다.
즉, 가속도는 시간에 대한 거리의 두 번째 미분 계수로서
다른 예로 어떠한 물체에 가해지는 힘은 그 물체의 질량에 가속도를 곱하는 것으로 계산됩니다. 즉, 질량을 가속하는 데 필요한 힘은 질량에 비례하며 전달되는 가속도에도 비례합니다. 따라서 힘(f)는 다음과 같이 나타낼 수 있습니다.
위 식에서 v는 속도, y는 이동 거리를 나타냅니다.
이동 속도에 의한 질량의 곱을 운동량(momentum)이라 하며 질량과 속도의 곱 (mv)으로 계산됩니다. 시간에 대해 운동량을 미분은 즉, 운동량 변화율은
어떠한 물체에 힘이 가해지고 움직인다면 그 물체에 투여되는 일(work, w)의 양을 계산할 수 있습니다. 그 물체가 움직이는 거리를 y라 한다면 일(w)은 다음과 같이 계산됩니다.
위 식에서 f를 상수로 고려하면 일 w에 관계된 인수는 y로서 이동 거리의 차이로 일의 변화를 계산할 수 있습니다. dw=f⋅dy 이 식을 다음과 같이 전개할 수 있습니다.
위 식으로부터 어떤 방향으로든 변위를 생성하는 데 사용되는 경우 힘(해당 방향으로)은 해당 방향의 단위 길이 당 작업이 수행되는 일과 같습니다. 이것은 시간의 의미가 아닌 비율입니다.
위에서 설명한 시간에 따른 함수에 대한 고차 미분과 비율에 대한 몇 가지 예들을 살펴보겠습니다.
예 2)
다음 식은 특정 지점 O에서 물체의 이동 거리와 시간의 관계식입니다. 이 식에서 t는 특정 순간 이후 경과 된 시간 (초)입니다.
5 초 후의 속도와 가속도를 찾고, 주행 거리가 100m 일 때 해당 값을 찾습니다. 또한 처음 10 초 동안 평균 속도를 계산합니다.
t=symbols('t', positive=True) x=0.2*t**2+10.4 #속도 (dx/dt) v=diff(x, t) v
0.4t
a=diff(v, t)
N(a, 2)
0.4
#t=5에서의 속도 v_5=v.subs(t, 5) N(v_5, 2)
2.0
#x=100m 이동에 걸린 시간과 속도 t_100m=solve(x-100, t) round(t_100m[0], 3)
21.166
N(v.subs(t, t_100m[0]), 3)
8.47
#10초동안 평균거리 x_10=x.subs(t, 10)-10.4 N(x_10, 3)
20.0
#그 거리에서 평균속도 #최초 v=0일 때의 시간을 고려하면 t=0 #t=0에서의 거리는 10.4이므로 다음과 같이 계산 v_mean=x_10/10 N(v_mean, 2)
2.0
예 3)
관계식이 다음과 같을 경우 예제 2를을 다시 계산합니다.
t=symbols('t') x=0.2*t**2+3*t+10.4 #속도(시간에 따른 변수) v=diff(x, t) v
0.4t+3
#가속도 a=diff(v, t) N(a, 2)
0.4
#t=0, v0 v0=v.subs(t, 0) v0
3
위 결과에 의하면 시간은 특정 지점 O로부터 10.4m가 떨어진 지점을 통과한 순간부터 계산되며 그 시점에서의 속도는 이미 3 m/sec입니다. 움직인 이후에 경과한 시간은 다음과 같습니다.
#v=0 t_start=solve(v, t) round(t_start[0], 3)
−7.5
즉, 움직이기 전에 이미 7.5초가 지나간 것입니다. 그러므로 특정 순간이 5초라는 것은 움직이기 전 2.5초라는 것을 의미합니다.
#t=5 v5=v.subs(t, -2.5) N(v5, 3)
2.0
x = 100m일 때의 시간과 속도는 다음과 같습니다.
t_x100=[i for i in solve(Eq(x, 100), t) if i>0] round(t_x100[0], 3)
14.956
N(v.subs(t, t_x100[0]), 3)
8.98
최초 10초 동안 이동한 거리는 움직임이 시작될 때의 위치와 시간을 고려해야 합니다. 움직임이 시작된 시점은 이미 7.5초가 지난 상태이므로 나머지 그 시간의 이동 거리와 2.5초 동안의 거리를 따로 계산합니다.
#t=-7.5 x7_5=x.subs(t, -7.5) N(x7_5, 3)
−0.85
#t=2.5 x2_5=x.subs(t, 2.5) N(x2_5, 4)
19.15
위 결과 -0.850는 역방향에서의 위치이므로 총 이동 거리는 두 값의 차이입니다.
total=x2_5-x7_5 round(total, 2)
20.0
v_aver=total/10 round(v_aver, 2)
2.0
예 4)
위치
t=symbols('t') x=0.2*t**3-3*t**2+10.4 v=diff(x, t) v
0.6t2−6t
a=diff(v, t) N(a, 2)
1.2t−6.0
v_t0=v.subs(t, 0) v_t0
0
a_t0=a.subs(t, 0) a_t0
−6
정지되어 있지만 음의 가속도로 움직일 준비가되어 있습니다. 즉, 점 O를 향한 속도를 얻습니다.
댓글
댓글 쓰기