극대와 극소(Maxima and Minima)
실제 상황의 어떠한 작업이나 활동을 여러 변수들의 관계인 함수로 표현할 수 있다면 그 함수의 미분에 의해 극대값 또는 극소값을 발견할 수 있습니다. 이러한 결과는 작업 비용을 최소화하거나 효율성을 극대화할 수 있는 합리적 근거를 제시할 수 있으므로 다양한 엔지니어링에서 극대와 극소는 중요한 문제로 다루어 집니다.
함수의 극대와 극소에 관한 관계를 알아보기 위해 다음과 같이 간단한 식으로부터 시작해봅니다.
$$y = x^2- 4x + 7$$x | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
y | 7 | 4 | 3 | 4 | 7 | 12 |
그림 1은 표 1을 나타낸 것으로 y의 극소값은 x = 2에서 3으로 나타낼 수 있습니다. 그러나 그 극소의 x 좌표가 2 주위의 어떤 값, 예를 들어 2.02 등과 같이 2+dx가 아닌 정확히 2라는 것을 확정할 수 있을까요?
x=np.arange(6) y=x**2-4*x+7
x1=np.linspace(-1, 5, 100) y1=x1**2-4*x1+7 plt.figure(dpi=100) plt.plot(x1, y1) plt.scatter(x, y) plt.grid(True) plt.ylim(0, 14) plt.xlabel("x", size="12", weight="bold") plt.ylabel("y", size="12", weight="bold") plt.show()
질문에 답하기 위해 잠정적으로 최소가 되는 지점 주위의 많은 값들에 대응하는 y값들을 비교하는 방식으로 계산할 수 있습니다. 그러나 이러한 방식으로는 동일한 계산을 반복 하는 것은 번거로울 뿐만 아니라 정확한 지점을 찾는 것은 쉽지 않습니다.
다른 예인 $y = 3x- x^2$의 그래프는 그림 2와 같습니다. 이 곡선이 통과하는 몇 개의 좌표들은 다음과 같습니다. 이 함수의 경우 그림 1의 함수와는 달리 극값의 좌표를 특정하기는 쉽지 않습니다.
x=np.arange(-1,6) y=3*x-x**2 pd.DataFrame([x, y], index=['x', 'y'])
0 | 1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|---|
x | -1 | 0 | 1 | 2 | 3 | 4 | 5 |
y | -4 | 0 | 2 | 2 | 0 | -4 | -10 |
x1=np.linspace(-1, 5, 100) y1=3*x1-x1**2 plt.figure(dpi=100) plt.plot(x1, y1) plt.scatter(x, y) plt.grid(True) plt.xlabel("x", size="12", weight="bold") plt.ylabel("y", size="12", weight="bold") plt.show()
x = 1과 x = 2 사이 어딘가에 최대 값이 있음이 분명합니다. y의 최대 값이 약 $\displaystyle 2\frac{1}{4}$ 정도라고 추정할 수 있습니다. x = 1과 2 사이의 많은 좌표들로부터 시행착오(trial-error) 방법으로 이 값을 계산할 수 있습니다. 그러나 여전히 이러한 방법으로 계산한 극대값이 정확한가에 대한 의문은 존재할 것입니다. 시행착오법 극대와 극소점에서의 함수의 일차 미분계수 $\displaystyle \frac{dy}{dx}=0$되는 특성을 적용하여 위의 두 함수의 극소값과 극대값을 계산해 봅니다. (미분의 기하학적 의미 참조)
첫번째 식 $y = x^2 - 4x + 7$의 극소값을 찾기 위해 미분 계수가 0이 되는 지점의 x값을 계산해봅시다.
x=symbols("x") y=x**2-4*x+7 dy=diff(y, x) dy
2x−4
x_min=solve(dy, x) x_min
[2]
x = 2에 대응하는 y값이 이 함수의 극소값이 됩니다. 다음의 계산과 같이 극소값은 3이 됩니다. 이 값은 그림 1에 나타낸 값과 같습니다.
y_min=y.subs(x, x_min[0]) y_min
3
위 과정을 그림 2에서의 최소값을 찾기 위해 적용하면 다음과 같습니다.
x=symbols("x") y=3*x-x**2 dy=diff(y, x) dy
3−2x
x_max=solve(dy, x) x_max
[3/2]
y_max=y.subs(x, x_max[0]) y_max$\quad \small\color{blue}{\frac{9}{4}}$
위 결과에 의하면 이 식의 극대값은 1과 2의 중간에 해당하는 x값에 대응하는 y값으로 $\displaystyle \frac{9}{4}$입니다. 이 결과는 시행착오법에 의한 추정으로 일어날 수 있는 불확실성을 제거하여 줍니다. 그러나 위 예들에서 결과가 극대인지 극소인지를 어떻게 결정할 수 있을까요? 물론 위 예의 경우 모두 이차방정식으로 그림 1과 2처럼 그래프의 형태를 알고 있기 때문에 그러한 결정은 문제 되지 않습니다. 다음 함수는 위의 예들 보다 좀 복잡한 형태를 가지는 함수 입니다.
다음 방정식의 극값을 발견하기 위해 위와 동일한 과정을 취합니다.
$$y=4x+\frac{1}{x}$$x=symbols("x") y=4*x+1/x dy=diff(y) dy$\quad \small \color{blue}{4−\frac{1}{x^2}}$
x_m=solve(dy, x) x_m
[-1/2, 1/2]
y_m=[y.subs(x, i) for i in x_m] y_m
[-4, 4]
위 결과는 두 개의 극값을 가집니다. 이들 중 극소와 극대를 어떻게 결정할 수 있을까요? 가장 간단한 방법으로 극값 주위의 값들과 비교로 알 수 있을 것입니다. 다음 코드는 $-1 \sim 0$ 구간의 y값들을 나타낸 것입니다. 이 결과에 의하면 -0.5에서 극대값임을 알 수 있습니다.
y1=[(i, N(y.subs(x, i), 3)) for i in [-1, -0.7, -0.5, 0.3, 0]] y1
[(-1, -5.00), (-0.7, -4.23), (-0.5, -4.00), (0.3, 4.53), (0, zoo)] # zoo=무한대
다음은 $0 \sim 1$ 구간의 y값들을 나타낸 것입니다.
y2=[(i, N(y.subs(x, i), 3)) for i in [0, 0.3, 0.5, 0.7, 1]] y2
[(0, zoo), (0.3, 4.53), (0.5, 4.00), (0.7, 4.23), (1, 5.00)]
위 결과들로 부터 x=0.5에서 극소값이 됨을 알 수 있습니다. 극소값 또는 극대값을 분류하기 위해 2차미분을 적용할 수 있습니다.(곡선의 곡률 참조)
숫자가 60을 두 부분으로 나누어 나눈 부분을 곱했을 경우 극대값을 발견하라는 요청을 가정해 봅니다. 이 경우 함수의 형태가 아니므로 위에서 사용한 미분계수 = 0을 적용할 수 없습니다. 당연히 여러 번 시도에 의해 결정할 수밖에 없습니다. 예를 들어 50과 10으로 구분하면 500이 됩니다. 이와 같이 반복해서 계산해 보면 다음과 같은 결과를 나타냅니다.
y1=[(i, i*(60-i)) for i in range(0, 61, 10)] y1
[(0, 0), (10, 500), (20, 800), (30, 900), (40, 800), (50, 500), (60, 0)]
위 결과에 의하면 반으로 구분할 경우에서 극대값을 나타냅니다. 위 과정을 임의 수인 n에 적용해 봅니다. 이 경우 반으로 나누어 곱한 결과는 n(n-x)가 될 것입니다. $(0 \le x \le n)$
$$y = x(n-x)$$위 함수의 극값은 $\displaystyle \frac{dy}{dx}=0$인 지점에서 생성됩니다. 그러므로 위 함수를 미분하여 극점을 찾으면 다음과 같습니다.
n, x=symbols("n, x") y=x*(n-x) dy=diff(y, x) dy
n-2x
x_m=solve(dy, x) x_m
[n/2]
위 결과로부터 n이 어떤 수이든 그것을 반으로 나누어 곱할 경우 극대값이 됨을 알 수 있습니다.
y_m=y.subs(x, x_m[0]) y_m$\quad \small \color{blue}{\frac{n^2}{4}}$
극대값은 $\displaystyle \frac{1}{4} n^2$이 됩니다. 이 결과로 부터 어떤 수가 n, m, p로 분해된다면 즉 N = n + m + p가 성립하면 n = m = p인 경우 n × m × p가 극대값이 된다는 규칙으로 일반화 할 수 있습니다.
예 1)
함수 y의 극대와 극소값?
n, x=symbols("n, x") y=x**3/3-2*x**2+3*x+1 dy=diff(y, x) dy
x2−4x+3
x_m=solve(dy, x) x_m
[1, 3]
y_m=[y.subs(x, i) for i in x_m] y_m
[7/3, 1]
위 결과와 같이 두 개의 극값이 생성됩니다. 이 값들을 결정하기 위해서 각 극점 주위의 값들을 살펴봅니다.
y1=[(i, N(y.subs(x, i),3)) for i in np.arange(0, 5.1, 0.5)] y1
[(0.0, 1.00), (0.5, 2.04), (1.0, 2.33), (1.5, 2.13), (2.0, 1.67), (2.5, 1.21), (3.0, 1.00), (3.5, 1.29), (4.0, 2.33), (4.5, 4.38), (5.0, 7.67)]
위 결과 중 빨간색으로 표시한 부분이 극값입니다. x = 1과 3에서 변화를 보입니다. 그러나 그림 3에서 나타낸 것과 같이 이 값들은 모든 범위에서 최대, 최소값이 아닙니다. 즉, 극대와 극소값은 일정한 범위에서의 최대, 최소를 의미합니다. 이러한 의미를 명확히 하기 위해 일정한 범위에서의 극대, 극소값을 국소 극대값(local maximum)과 국소 극소값(local minimum)이라고 합니다.
x1=np.linspace(-0.1, 4, 100) y2=[y.subs(x, i) for i in x1] plt.figure(dpi=100) plt.plot(x1, y2, label=r"$\mathbf{\frac{1}{3}x^3-2x^2+3x+1}$") plt.scatter([y1[2][0], y1[6][0]], [y1[2][1], y1[6][1]], color="red") plt.xlabel("x", size=12, weight="bold") plt.ylabel("y", size=12, weight="bold") plt.legend(loc="best") plt.grid(True) plt.show()
예 2)
중심 좌표가 (a, b)이고 반지름이 r인 원의 방정식을 고려합니다.
그림 4로부터 극대값은 b+r, 극소값은 b-r임을 알 수 있습니다. 이러한 극값은 미분 계산을 통해 계산할 수 있습니다. 이 적용을 위해 양함수로 표현된 원의 방정식을 다음과 같이 음함수로 전환합니다. 이 과정을 코드화하기 위해 solve()
함수를 사용합니다.
a, b, r, x, y=symbols("a, b, r, x, y") eq=(y-b)**2+(x-a)**2-r**2 y1=solve(eq, y) y1$\quad \small \color{blue}{\left[ b - \sqrt{\left(- a + r + x\right) \left(a + r - x\right)}, \ b + \sqrt{\left(- a + r + x\right) \left(a + r - x\right)}\right]}$
두 개의 음함수가 생성됩니다. 즉, 양함수인 원의 방정식을 음함수로 전환하면 원의 중심 축을 기준으로 윗부분과 아랫부분의 방정식으로 구분됩니다. 그러므로 윗부분의 극값이 극대값, 아랫부분의 극값이 극소값이 될 것입니다. 이러한 결과는 아래 코드로 구현됩니다.
#아래부분 함수 y11=y1[0] dy11=y11.diff(x) dy11$\quad \small \color{blue}{- \frac{\sqrt{\left(- a + r + x\right) \left(a + r - x\right)} \left(a - x\right)}{\left(- a + r + x\right) \left(a + r - x\right)}}$
dy11_m=solve(dy11, x) dy11_m
[a]
y11.subs(x, a)$\quad \small \color{blue}{b - \sqrt{r^{2}}}$
#윗부분 함수 y12=y1[1] dy12=y12.diff(x) dy12$\quad \small \color{blue}{\frac{\sqrt{\left(- a + r + x\right) \left(a + r - x\right)} \left(a - x\right)}{\left(- a + r + x\right) \left(a + r - x\right)}}$
d_m=solve(dy12, x) d_m
[a]
y12.subs(x, a)$\quad \small \color{blue}{b + \sqrt{r^{2}}}$
위 결과를 정리하면 다음과 같습니다.
극좌표 x = a에서
- y = b + r : 극대값
- y = b - r : 극소값
예 3)
$y = ax^3 + bx + c$의 경우 a와 b가 양수라면 극대와 극소?
x1=np.linspace(-10, 10, 100) y2=3*x1**3+2*x1+3 plt.figure(dpi=100) plt.plot(x1, y2, label=r"$\mathbf{3ax^3+bx+c}$") plt.xlabel("x", size=12, weight="bold") plt.ylabel("y", size=12, weight="bold") plt.xticks([]) plt.yticks([]) plt.legend(loc="best") plt.grid(True) plt.show()
위 식의 미분계수 = 0에 대한 해를 찾을 수 없으므로 극대, 극소는 존재할 수 없습니다. 이 식의 미분계수로부터 극값을 계산해 보면 다음과 같습니다.
a, b, c, x=symbols("a, b, c, x") y=a*x**3+b*x+c dy=diff(y, x) dy
3ax2+b
x_m=solve(dy, x) x_m
[-sqrt(3)*sqrt(-b/a)/3, sqrt(3)*sqrt(-b/a)/3]
위 코드는 미분계수가 0인 경우의 x 좌표값을 계산한 것으로 a와 b가 양수라는 조건에 따라 그 결과는 복소수입니다. 실수영역에서 이 함수의 극값은 존재하지 않습니다.
예 4)
반지름이 r인 원에 새겨진 최대 면적의 직사각형의 변의 길이를 계산해 보겠습니다.
원내의 직사각형의 각 변의 길이는 그림 6과 같이 나타낼수 있습니다.
직사각형의 넓이 S는 다음과 같이 x의 함수가 됩니다.
$$S(x) = x\sqrt{4r^2 − x^2}$$이 예제는 결국 함수 S(x)의 극값을 계산하는 문제입니다. 즉, 함수의 미분계수를 발견하는 것으로 $4r - x^2 = u$로 치환에 의한 미분의 곱법칙과 연쇄법칙을 적용하여 미분할 수 있습니다.(결합함수의 미분 참조) 이 포스트에서는 함수 diff()
를 사용하면 다음과 같습니다.
r, x=symbols("r, x") y=x*(sqrt(4*r**2-x**2)) dy=y.diff(x) dy$\quad \small \color{blue}{- \frac{x^{2}}{\sqrt{4 r^{2} - x^{2}}} + \sqrt{4 r^{2} - x^{2}}}$
x_m=solve(dy, x) x_m
[-sqrt(2)*r, sqrt(2)*r]
위 코드의 결과로 극값은 두개이지만 x는 길이이므로 양수이어야 합니다. 즉, x_m은 $\sqrt{2} r$ 입니다.
예 5)
원뿔형 물탱크의 용량이 최대가 되기 위한 r을 계산합니다. 그림 7은 물탱크의 단면입니다.
원뿔형 물탱크의 부피는 다음과 같이 계산합니다. 이 식의 극대값은 미분계수가 0이 되는 반지름 r을 계산하는 것입니다.
$$\begin{align} V&=\pi r^2 \frac{h}{3}\\ &=\pi r^2 \frac{\sqrt{l^2-r^2}}{3} \end{align}$$위 식에 대한 미분으로 극대값을 계산하면 다음과 같습니다.
l, r, x=symbols("l, r, x") v=pi*r**2*sqrt(l**2-r**2)/3 dv=diff(v, r) dv$\quad \small \color{blue}{ \frac{\pi r^{3}}{3 \sqrt{l^{2} - r^{2}}} + \frac{2 \pi r \sqrt{l^{2} - r^{2}}}{3}}$
r_m=solve(dv, r) r_m
[0, -sqrt(6)*l/3, sqrt(6)*l/3]
r은 길이이므로 0이 아닌 양수이어야 합니다. 그러므로 $\displaystyle \frac{\sqrt{6} l}{3}$입니다.
예 6)
함수 y의 극대와 극소값을 계산해 봅니다. 이 함수의 경우 두 함수의 결합으로 각 함수의 미분은 나눗셈 법칙을 적용합니다.
x=symbols("x") y1=x/(x-4) y2=(x-4)/x y1_de=denom(y1) y1_nu=numer(y1) y1_df=(y1_nu.diff(x)*y1_de-y1_nu*y1_de.diff(x))/y1_de**2 y1_df$\quad \small \color{blue}{- \frac{4}{\left(x - 4\right)^{2}}}$
y2_de=denom(y2) y2_nu=numer(y2) y2_df=(y2_nu.diff(x)*y2_de-y2_nu*y2_de.diff(x))/y2_de**2 y2_df$\quad \small \color{blue}{\frac{4}{x^{2}}}$
y_df=y1_df+y2_df simplify(y_df)$\quad \small \color{blue}{\frac{64 - 32 x}{x^{2} \left(x^{2} - 8 x + 16\right)}}$
위 결과는 원래의 함수를 diff()
를 적용하여 미분한 결과와 같습니다. 그 결과로부터 극값을 계산해 봅니다.
y=x/(x-4) + (x-4)/x dy=simplify(diff(y, x)) dy$\quad \small \color{blue}{\frac{64 - 32 x}{x^{2} \left(x^{2} - 8 x + 16\right)}}$
x_m=solve(dy, x) x_m
[2]
y_re=[(N(x_m[0]+i, 3), N(y.subs(x, x_m[0]+i),3)) for i in [-0.5, 0, 0.5]] y_re
[(1.50, -2.27), (2.00, -2.00), (2.50, -2.27)]
위 결과에 의하면 x = 2에서 극대값 -2입니다.
예 7)
다음 함수의 극값 ?
이 함수 역시 두 개 함수들의 합으로 구성되어 있습니다. 또한 각 함수의 미분을 위해 연쇄 규칙$^{\ref{chain_rule}}$을 적용할 수 있습니다.
x, u, v=symbols("x u v") u1=1+x y1=sqrt(u) dy1=y1.diff(u)*u1.diff(x) dy1$\quad \small \color{blue}{ \frac{1}{2 \sqrt{u}}}$
dy1=dy1.subs(u, u1) dy1$\quad \small \color{blue}{\frac{1}{2 \sqrt{x+1}}}$
v1=1-x y2=sqrt(v) dy2=y2.diff(v)*v1.diff(x) dy2$\quad \small \color{blue}{\frac{1}{2 \sqrt{v}}}$
dy2=dy2.subs(v, v1) dy2$\quad \small \color{blue}{- \frac{1}{2 \sqrt{1 - x}}}$
dy=dy1+dy2 dy$\quad \small \color{blue}{\frac{1}{2 \sqrt{x + 1}} - \frac{1}{2 \sqrt{1 - x}}}$
원 함수를 직접 미분하여 극값을 계산해 봅니다.
y=(1+x)**(Rational('1/2'))+(1-x)**(Rational('1/2')) dy=diff(y, x) dy$\quad \small \color{blue}{\frac{1}{2 \sqrt{x + 1}} - \frac{1}{2 \sqrt{1 - x}}}$
x_m=solve(dy, x) x_m
[0]
y_re=[(i, N(y.subs(x, i),3)) for i in [-0.5, 0, 0.5]] y_re
[(-0.5, 1.93), (0, 2.00), (0.5, 1.93)]
x = 0에서 y = 2는 극대값입니다.
예 8)
다음 함수 y의 극값을 계산해 봅니다.
이 함수의 미분은 나눗셈 법칙을 적용합니다.
$$\begin{align} \frac{dy}{dx}&=\frac{2x(2x-4)-(x^2-5)2}{(2x-4)^2}\\ &=\frac{2x^2-8x+10}{(2x-4)^2} \end{align}$$diff()
를 적용한 미분 결과를 활용하면 다음과 같습니다.
x=symbols("x") y=(x**2-5)/(2*x-4) dy=diff(y, x) dy$\quad \small \color{blue}{\frac{2 x}{2 x - 4} - \frac{2 \left(x^{2} - 5\right)}{\left(2 x - 4\right)^{2}}}$
x_m=solve(dy, x) x_m
[2 - I, 2 + I]
위 결과 미분 = 0으로부터의 x의 해는 복소수만을 가집니다. 그러므로 실수영역에서 극소값이나 극대값은 존재하지 않습니다.
예 8)
함수 $(y − x^2)^2 = x^5$의 극대값?
y의 극대값을 계산하기 위해서는 양함수 형태인 현재의 함수를 음함수 형태로 전환하여야 합니다. 즉, 위 식을 y에 대해 정리하기 위해 sympy 함수인 Eq()
, solve()
함수를 적용합니다.
sympy의 함수들에 인수를 전달하기 위해서는 동차식(식 = 0)의 형태이어야 합니다. 그러나 두 개의 동차식을 '='로 연결해주는 함수인 Eq()를 사용하면 위 함수 형태를 유지할 수 있습니다.
x, y=symbols("x, y") eq=Eq((y-x**2)**2, x**5) eq$\quad \small \color{blue}{\left(- x^{2} + y\right)^{2} = x^{5}}$
위 식을 y에 대해 정리하기 위해 다음과 같이 solve()
를 적용합니다. 이 함수에 전달하는 인수인 식은 동차식이어야 하지만 Eq()함수에 의해 생성된 식은 그 형태에 관계없이 인식합니다. 또한 이 함수는 지정한 변수의 해를 계산하는 것으로 아래 코드와 같이 y의 해 즉, y에 대해 식을 정리하는 결과를 반환합니다.
eq1=solve(eq, y) eq1
[x**2 - sqrt(x**5), x**2 + sqrt(x**5)]
위의 결과에 의하면 변수 x에 정리된 음함수는 두 부분으로 구분됩니다. 그림 7.8은 이 함수들의 그래프입니다. 이 그래프에 의하면 하나의 극대값을 가집니다.
그림 8의 주황색 그래프에서 극점을 계산해 봅니다.
dv1=diff(eq1[0], x) dv1$\quad \small \color{blue}{2 x - \frac{5 \sqrt{x^{5}}}{2 x}}$
x_m1=solve(dv1, x) x_m1
[16/25]
[(N(i, 3), N(eq1[0].subs(x, i), 3)) for i in [x_m1[0]-0.1, x_m1[0], x_m1[0]+0.1]]
[(0.540, 0.0773), (0.640, 0.0819), (0.740, 0.0765)]
위 코드의 결과에 의하면 극대값이 존재합니다. 다음으로 그림 8의 파란색 그래프 부분에 대한 것으로 극값은 존재하지 않습니다.
dv2=diff(eq1[1], x) dv2$\quad \small \color{blue}{2 x + \frac{5 \sqrt{x^{5}}}{2 x}}$
x_m2=solve(dv2, x) x_m2
[]
예 9)
높이가 밑면(원) 반지름의 2배인 실린더의 부피가 증가할 경우 그 실린더의 다른 부분 역시 동일한 비율을 유지합니다. 밑면의 반경이 r(t)이며 표면적은 20 sec-1로 증가합니다. 실린더의 부피의 증가 비율을 계산해 봅니다.
문제는 표면적의 시간 당 변화율에 대한 정보를 제공합니다. 즉,
$$\frac{ds}{dt}= \frac{20}{\text{sec}} \rightarrow dS = 20$$이 정보로 부터 dV를 계산합니다. 계산과정은 다음과 같습니다.
$$\begin{align} \frac{ds}{dr}&=12 \pi r \rightarrow ds=12 \pi r dr\\ \frac{dV}{dr}&=6 \pi r^2 \rightarrow dV=6 \pi r^2 dr \end{align}$$예에서 dS값이 제공되었으므로 dr을 계산할 수 있습니다. 이 결과를 통해 dV를 계산합니다. 또한 반지름 r의 증가율은 시간 t에 대한 함수입니다. 그러나 t에 대한 구체적인 식은 주어지지 않았습니다. 이러한 경우 sympy에서는 Function()
함수에 의해 정의할 수 있습니다. 다음 코드에서 반지름 r, 표면적 S, 부피 V를 함수로 정의하였습니다.
t=symbols('t') r=Function('r')(t) S=Function('S')(r) V=Function('V')(r) r.diff(t)$\quad \small \color{blue}{\frac{d}{d t} r{\left(t \right)}}$
S=6*pi*r**2 dSdr=S.diff(r) dSdr$\quad \small \color{blue}{12 \pi r(t)}$
dS=dSdr*r.diff(t) dS$\quad \small \color{blue}{12 \pi r{\left(t \right)} \frac{d}{d t} r{\left(t \right)}}$
표면적 S를 반지름 r에 대해 미분한 것이며 이 결과로 부터 dS를 계산할 수 있습니다. 문제에서 dS = 20 이므로 이를 적용하여 dr을 계산할 수 있습니다. 이 계산은 solve()
를 적용합니다.
dr=solve(Eq(dS, 20), r.diff(t)) dr
[5/(3*pi*r(t))]
위 계산 과정을 dV에서 동일하게 적용합니다.
V=2*pi*r**3 dV=V.diff(r)*r.diff(r) dV
6πr2(t)
dV=dV*dr[0] dV
10r(t)
댓글
댓글 쓰기