기본 콘텐츠로 건너뛰기

[ML] 결정트리(Decision Tree) 모델

미분의 개념

내용

  1. 단순한 형태의 미분
  2. 음의 거듭제곱 형태의 미분
  3. 분수형태의 거듭제곱의 경우
  4. 상수를 포함한 식의 미분

단순한 형태의 미분

예 1)
두 변수 y와 x의 관계를 나타낸 함수 $y = x^2$에 따르면 x가 증가하면 y 역시 증가합니다. 이 관계에서 두 변수 사이의 비율을 계산할 수 있습니다.

이 예제는 미분계수인 $\displaystyle \frac{dy}{dx}$의 값을 계산하는 것으로 x의 증가에 따라 식 1과 같이 표현할 수 있습니다.

$$\begin{align}\tag{1}y+dy&=(x+dx)^2\\&=x^2+2xdx+(dx)^2\end{align}$$

dx는 변수 x의 작은 양이므로 위 식에서 $(dx)^2$는 작은 양들 사이의 곱이므로 다른 항에 비해 매우 작습니다. 즉, 이 항은 무시 가능하기 때문에 식 1은 식 2와 같이 정리됩니다.

$$\begin{align} \tag{2}y+dy&=x^2+2xdx\\dy&=2xdx\end{align}$$

위 식2는 미세한 구간에서 x에 대한 y의 변화율을 나타내는 것으로 미분이라고 정의합니다. 다시말하면, 일반적인 미분의 정의인 식 3과 같이 나타낼 수 있습니다.

$$\begin{align} \tag{3}\frac{dy}{dx}&=2x\end{align}$$

파이썬 sympy 패키지의 diff() 함수를 적용하여 다음과 같이 코드화 할 수 있습니다. 이 함수는 sympy객체.diff()와 같이 메소드 형태로 적용할 수 있습니다.

x=symbols("x", real=True)
y=x**2
diff(y)
2x
y.diff()
2x
$\displaystyle \frac{dy}{dx}$는 x에 대한 y를 미분하는 결과입니다. 미분한다는 것은 미분 계수를 발견하는 것을 의미합니다.
x에 관한 다른 함수에 대해 생각해 봅니다. $$u=7x^2+3$$ 위 식의 x에 대한 u의 미분은 다음과 같이 나타낼 수 있습니다. $$\frac{du}{dx}=\frac{d(7x^2+3)}{dx}$$ 다음은 독립변수가 x가 아닌 t인 경우입니다. 즉, 다음식에서 t에 대한 y의 미분은 다음과 같이 나타낼 수 있습니다. $$\begin{align}y&=b+\frac{1}{2}t^2\\\frac{dy}{dt}&=\frac{d(b+\frac{1}{2}t^2)}{dt}\end{align}$$

예 1을 수치적으로 접근해 봅시다. 예를 들어 x=100일 때 y=10000이 됩니다. x의 증분 dx=1라면 y는 다음과 같습니다.

y1=101*101#y1=y+dy=(x+dx)2
y1
10201

위 결과에서 1은 전체값에 비해 작은 수이므로 무시할 수 있습니다. 그러므로 y=100200으로 dy=200이 됩니다. dy와 dx의 비율 즉, x에 관해 y의 미분은 다음과 같이 2x가 됩니다.

$$\frac{dy}{dx}=\frac{200}{1}=200=2x$$

더 작은 수를 고려해 보기 위해 dx=0.1에서 미분을 계산해 봅니다.
x + dx = 100 + 0.1 = 100.1이므로 y는 다음과 같습니다.

y1=100.1*100.1
y1
10020.009999999998

위 결과에서 0.0099..는 전체 결과에서 매우 미미한 수준으로 무시할수 있기 때문에 y의 증분 dy=20으로 간주 할 수 있습니다. 그러므로 $\displaystyle \frac{dy}{dx}$는 다음과 같습니다.

dx, dy=symbols("dx, dy", real=True)
f=dy/dx
f
$\quad \small{\color{blue}{\frac{dy}{dx}}}$
f.subs([(dx,0.1),(dy, 20)])
200.0

예 2)
  예 1과 같은 방법으로 $y =x^3$을 미분해 봅니다.

$$\begin{align}y+dy&=(x+dx)^3\\&=x^3+3x^2dx+3x(dx)^2+(dx)^3\end{align}$$

위 식에서 (dx)2, (dx)3은 무시할 수 있습니다. 또한 y=x3이므로 다음과 같이 정리됩니다.

$$\frac{dy}{dx}=3x^2$$
x=symbols("x", real=True)
y=x**3
diff(y)
3x2

예 3)
y=x4을 미분해 봅니다.

$$\begin{align}y+dy&=(x+dx)^4\\&=(dx)^4+4(dx)^3x+6(dx)^2x^2+4dx x^3+x^4\end{align}$$

위와 같이 고차 방정식을 전개하기 위해 sympy 패키지의 expand()함수를 적용할 수 있습니다. 파이썬에서 곱셈과 거듭제곱은 각각 '*'과 '**'으로 표시됩니다.

x, dx=symbols("x, dx", real=True)
f=(x+dx)**4
f
$\quad \small{\color{blue}{\left(dx + x\right)^{4}}}$
expand(f)
$\quad \small{\color{blue}{dx^{4} + 4 dx^{3} x + 6 dx^{2} x^{2} + 4 dx x^{3} + x^{4}}}$

위 식에서 (dx)의 거듭제곱과 관계된 항들은 매우 작은 값들이므로 무시할 수 있으므로 다음과 같이 정리할 수 있습니다.

$$y+dy=x^4+4x^3dx$$

$y = x^4$이므로 이 식에서 x에 관한 y의 미분은 다음과 같습니다.

$$\frac{dy}{dx}=4x^3$$

다음은 위 과정을 sympy함수들로 코드화한 것입니다.

x, dx=symbols("x, dx", real=True)
y=Function('y')(x)
diff(y)
$\quad \small{\color{blue}{\frac{d}{d x} y{\left(x \right)}}}$
y1=x**4
y1.diff(x)
4x3
Eq(y.diff(), y1.diff())
$\quad \small{\color{blue}{\frac{d}{d x} y{\left(x \right)} = 4 x^{3}}}$

sympy에서 적용된 식은 동차 방정식(Homogeneous equation)의 형태 즉, 좌항 또는 우항이 0인 형태이어야 합니다. 이것은 각 식에 대한 객체 이름을 설정하기 위해서 입니다. 예를 들어 y = x2와 같은 식을 sympy객체로 만들면 y는 x를 변수로 하는 객체 이름입니다. 그러므로 y의 미분 표현을 나타내기 위해서는 eq1 = y, eq2 = x2과 같이 별도의 객체로 만들어야 합니다. 사용자가 y의 미분 표현 $\frac{dy}{dx}$를 묵시적으로 사용한다면 실제 코딩에서는 객체 eq2 만을 실행합니다. 그러나 미분 과정을 나타낼 필요가 있을 경우는 별도로 작성하여야 합니다. 이 과정을 적용하여 위 코드를 설명하면 다음과 같습니다.

  • 좌항과 우항을 별도의 함수로 설정
    1. 좌항 y는 종속변수이자 함수이므로 Function()함수로 선언
    2. 우항의 x는 독립변수이므로 symbols()함수로 선언
  • 좌항과 우항을 각각 diff()를 적용하여 미분
  • 각 미분항들을 Eq()함수를 사용하여 결합합니다.

다른 방법으로 $y = x^4$을 $0 = y − x^4$과 같이 전체적으로 동차식의 형태로 만들어 사용합니다.

x, dx=symbols("x, dx", real=True)
y=Function('y')(x)
eq=y-x**4
eq
$\quad \small \color{blue}{- x^{4} + y{\left(x \right)}}$
eq.diff(x)
$\quad \small \color{blue}{- 4 x^{3} + \frac{d}{d x} y{\left(x \right)}}$

위에서 소개한 예들의 결과를 요약해 보면 다음과 같습니다.

표 1. 간단한 함수들의 미분
y $\displaystyle \frac{dy}{dx}$
$x^2$ 2x
$x^3$ $3x^2$
$x^4$ $4x^3$
미분규칙 $$\begin{align}\tag{1}y&=x^n\\\frac{dy}{dx}&=nx^{n-1}\end{align}$$

미분 규칙을 $y = x^5$에 적용하면 다음과 같습니다.

$$\frac{dy}{dx}=5x^4$$
x, dx=symbols("x, dx", real=True)
f=(x+dx)**5
expand(f)
$\quad \small{\color{blue}{dx^{5} + 5 dx^{4} x + 10 dx^{3} x^{2} + 10 dx^{2} x^{3} + 5 dx x^{4} + x^{5}}}$

위 결과에서 $dx^2$ 이상의 차원을 가진 항들을 모두 무시할 수 있으므로 정리하면 최종 결과는 $y + dy = 5dx⋅x^4 + x^5$이므로 $\frac{dy}{dx}=5x^4$입니다. 다음과 같이 코드화할 수 있습니다.

y=Function('y')(x)
eq=y-x**5
eq.diff(x)
$\quad \small{\color{blue}{- 5 x^{4} + \frac{d}{d x} y{\left(x \right)}}}$

음의 거듭제곱 형태의 미분

예 1에서 소개한 미분 과정을 식 $y = x^{-2}$에 적용하여 봅시다.

$$y+dy=(x+dx)^2$$

위 식의 우항 같은 다항식의 전개를 위해 이항정리를 적용할 수 있습니다.

이항정리 $$(a+b)^n=a^n+n\frac{a^{n-1}b}{1!}+n(n-1)\frac{a^{n-2}b^2}{2!}+ \cdots +b^n$$

이항정리를 적용하여 dx의 거듭제곱을 포함된 항들을 제거하면 식 2와 같습니다.

$$\begin{align}\tag{2}(x+dx)^2&=x^{-2}+(-2)\frac{x^{-3}dx}{1!}+(-2)(-3)\frac{x^{-4}dx^{-2}}{-2!}+\cdots\\ &=x^{-2}+(-2)x^{-3}dx+6x^{-4}dx^{-2}+\cdots\\ &\cong x^{-2}+(-2)x^{-3}dx \end{align}$$

y=x-2이므로 위 식으로 부터 x에 대한 y의 미분은 다음과 같습니다.

$$\frac{dy}{dx}=-2x^{-3}$$

위 결과는 위에서 소개한 미분 규칙에 의한 결과와 같습니다.

x=symbols("x")
y=Function('y')(x)
eq1=x**(-2)
Eq(y.diff(),eq1.diff())
$\quad \small{\color{blue}{\frac{d}{d x} y{\left(x \right)} = - \frac{2}{x^{3}}}}$

분수형태의 거듭제곱의 경우

거듭제곱인자가 분수인 경우도 이항정리를 적용하여 미분을 정리할 수 있습니다.

$$\begin{align}(x+dx)^{\frac{1}{n}}&=x^{\frac{1}{n}}+\frac{1}{n}\frac{x^{\frac{1}{n}-1}}{1!}+\frac{1}{n} \frac{1}{n-1}\frac{x^{\frac{1}{n}-2}}{2!}+ \cdots\\ &=x^{\frac{1}{n}}+\frac{1}{n}x^{\frac{1}{n}-1}dx \end{align}$$

위 결과는 위에서 소개한 미분 규칙에 의한 결과와 같습니다.

n, x=symbols("n, x")
y=Function('y')(x)
eq1=x**(1/n)
y, eq1
(y(x), x**(1/n))
Eq(y.diff(),eq1.diff(x))
$\quad \small{\color{blue}{\frac{d}{d x} y{\left(x \right)} = \frac{x^{\frac{1}{n}}}{n x}}}$
simplify(Eq(y.diff(),eq1.diff(x)))
$\quad \small{\color{blue}{\frac{d}{d x} y{\left(x \right)} = \frac{x^{\frac{1 - n}{n}}}{n}}}$

위 코드의 마지막 명령인 simplify() 함수는 식을 보다 간단히 정리하기 위해 적용한 것입니다.

상수를 포함한 식의 미분

일반적으로 변수 x(독립변수)에 영향 받는 다른 변수 y(종속변수)의 관계를 나타낸 식에서 미분은 두 변수의 비율로 정의할 수 있습니다. 이러한 식에 독립변수와 관계 없지만 y에 영향을 주는 항 즉, 상수항이 포함여부는 그 비율에 양향을 주지 않습니다. 상수항은 변화될 수 없는 값이기 때문입니다. 어떠 함수에 상수항은 미분에 그 함수의 미분에 영향을 줄수 없음을 의미합니다.

x, dx, y, dy =symbols("x, dx, y, dy")
f=y+dy
f1=(x+dx)**3+5
F=Eq(f,f1)
F
$\quad \small{\color{blue}{dy + y = \left(dx + x\right)^{3} + 5}}$
expand(F)
$\quad \small{\color{blue}{dy + y = dx^{3} + 3 dx^{2} x + 3 dx x^{2} + x^{3} + 5}}$

위 결과에서 dx의 거듭제곱을 포함한 모든 항들은 무시할 수 있으며 $y = x^3 + 5$을 고려해주면 다음과 같이 정리됩니다.

x=symbols("x")
y=Function('y')(x)
eq=x**3+5
F=Eq(y.diff(), eq.diff())
F
$\quad \small{\color{blue}{\displaystyle \frac{d}{d x} y{\left(x \right)} = 3 x^{2}}}$

상수 곱

다음 식은 독립변수를 상수배한 형태입니다. $y = 7x^2$을 미분하면 다음과 같습니다.

x, dx, y, dy =symbols("x, dx, y, dy")
f=y+dy
f1=7*(x+dx)**2
F=Eq(f,f1)
expand(F)
$\quad \small \color{blue}{dy + y = 7 dx^{2} + 14 dx x + 7 x^{2}}$

위 결과에 $y = 7x^2,\, dy^2 = 0$를 대입하기 위해 .subs()메서드를 사용합니다.

F1=F.subs({y:7*x**2, dx**2:0})
F1
$\quad \small \color{blue}{dy + 7 x^{2} = 7 \left(dx + x\right)^{2}}$

다음 단계로 위 결과를 dy에 의해 정리하기 위해 solve()함수를 사용합니다. 위 결과를 정리하면 미분은 다음과 같습니다.

solve(F1, dy)
[7*dx*(dx + 2*x)]

(dx)2 ≈ 0으로 간주할 수 있으므로 최종적으로 위 결과는 다음과 같이 정리됩니다.

$$\frac{dy}{dx}=14x$$

x의 각 값에 대한 y와 $\frac{dy}{dx}$의 변화를 다음 표에 나타내었습니다.

표 2. y=7x2에 대한 미분계수
x y $\small \frac{dy}{dx}$
1 7 14
2 28 28
3 63 42
4 112 56
5 175 70
-1 7 -14
-2 28 -28
-3 63 -42

표 2의 (x, y), (x, $\frac{dy}{dx}$) 좌표는 각각 그림 1과 같이 그래프로 나타낼 수 있습니다. 즉, 그림 1의 각 점에의 곡선 기울기의 변화는 직선의 형태로 나타낼 수 있습니다. 즉, 일정한 비례 관계가 존재합니다. 그 결과인 직선과 곡선을 비교하면 x가 음수인 경우 곡선은 감소하는 모습을 보이며 $\frac{dy}{dx}$ 역시 음수임을 나타냅니다.

plt.figure(dpi=100)
plt.plot(x, y, label=r"7$x^2$")
plt.plot(x, dy, label=r"$\frac{dy}{dx}$")
plt.axvline(x=0, linestyle="--", color='black')
plt.xlabel("x", size=12, weight="bold")
plt.ylabel("y", size=12, weight="bold")
plt.legend(loc="best")
plt.show()
그림 1. 곡선 y=7x2와 그 도함수 $\displaystyle \frac{dy}{dx}$.

상수에 의한 곱에 대한 미분은 미분 규칙의 확장으로 다음과 같이 계산됩니다.

$$\begin{align} \tag{3} y&=ax^n \\ \frac{dy}{dx}&=anx^{n-1} \end{align}$$

위의 미분은 상수에 의한 곱 외에 나눗셈 역시 적용됩니다.

$y=\frac{1}{7}x^2$
x =symbols("x")
y=Rational('1/7')*x**2
y.diff()
$\quad \small \color{blue}{\frac{2 x}{7}}$

위 코드에서 사용한 Rational() 함수는 인수로 전달한 분수 형태를 유지하므로 계산 결과 역시 분수 형태로 반환됩니다.

상수항과 상수에 의한 곱셈 등에 대한 몇 가지 예들을 고려해봅니다.

예 4)
 다음 함수 y를 미분합니다.

$$\begin{align}y&=\frac{x^5}{7}-\frac{3}{5}\\ \frac{dy}{dx}&=\frac{1}{7}5x^{5-1}=\frac{5}{7}x^{4}\end{align}$$
x =symbols("x")
f=x**5*Rational('1/7')-Rational('3/5')
f.diff()
$\quad \small \color{blue}{\frac{5}{7}x^4}$

예 5)
 다음 무리수가 포함된 식을 미분 해봅니다.

$\begin{align}y&=a\sqrt(x)-\frac{\sqrt{a}}{2}\\ \frac{dy}{dx}&=\frac{a}{2\sqrt(x)}\end{align}$
a, x =symbols("a, x")
f=a*sqrt(x)-Rational('1/2')*sqrt(a)
f.diff(x)
$\quad \small \color{blue}{\frac{a}{2 \sqrt{x}}}$

다음 식은 양함수 구조이므로 이 식의 미분은 하나의 변수 즉, y에 대해 식을 정리한 다음 미분을 실시합니다.

$$\begin{align} &ax+by=by-ax+(x+y)\sqrt{(a^2-b^2)}\\ &(a-b)y+(a+b)x=(x+y)\sqrt{(a^2-b^2)}\\ &(a-b+\sqrt{(a^2-b^2)})y=(\sqrt{a^2-b^2}-(a+b))x \end{align}$$

위 식을 최종적으로 y로 정리하여 미분하면 다음과 같습니다.

$$\begin{align} &y=\frac{\sqrt{a^2-b^2}-(a+b)}{a-b+\sqrt{a^2-b^2}}x\\ &dy=\frac{\sqrt{a^2-b^2}-(a+b)}{a-b+\sqrt{a^2-b^2}}x^0dx\\ &\frac{dy}{dx}=\frac{\sqrt{a^2-b^2}-(a+b)}{a-b+\sqrt{a^2-b^2}} \end{align}$$

위 과정은 sympy 함수 Eq()등을 적용하여 다음과 같이 계산할 수 있습니다.

a, b, x, y =symbols("a, b, x, y")
eq=a*y+b*x-(b*y-a*x+(x+y)*sqrt(a**2-b**2))
eq
$\quad \small \color{blue}{ax + ay + bx - by - \sqrt{a^2 - b^2}(x + y)}$
eq=collect(eq, (x, y))
eq
$\quad \small \color{blue}{x(a+b)+y(a−b)−\sqrt{a^2−b^2}(x+y)}$

위 코드에 입력한 식은 collect() 함수를 사용하여 지정한 변수 x, y에 의해 정리하였습니다. 위 eq를 y에 대해 정리하기 위해 solve()함수를 사용합니다. 이 함수는 식에서 지정한 변수에 대한 해를 계산하는 것으로 위 식 eq에 대한 y의 해를 계산하는 것과 같습니다.

eq1=solve(eq, y)
eq1
$\quad \small \color{blue}{\left[\displaystyle \frac{x(a+b-\sqrt{a^2-b^2})}{-a+b+\sqrt{a^2-b^2}}\right]}$

최종적으로 eq1을 x에 관해 미분합니다.

print(diff(eq1[0], x))
$\quad \small \color{blue}{\left[\displaystyle \frac{a+b-\sqrt{a^2-b^2}}{-a+b+\sqrt{a^2-b^2}}\right]}$

예 6)
  반지름 r, 높이 h인 실린더의 부피는 $V = πr^2h$로 계산합니다. r = 5.5 in, h = 20 in일 경우 부피의 변화량을 계산합니다.

r,h =symbols("r,h")
V=pi*r**2*h
V
$\quad \small \color{blue}{πhr^2}$
V1=diff(V,r)
V1
$\quad \small \color{blue}{2πhr}$
N(v1.subs([(r,5.5),(h, 20)]),4)
691.1

sympy와 numpy 등 파이썬에서 π는 pi로 나타냅니다. 이러한 기호와 함수의 값을 평가하기 위해 N() 또는 .evalf()를 적용합니다. 이 함수와 메서드에서는 유효숫자를 지정하여 표현되는 수의 형태를 조정할 수 있습니다.

pi
$\quad \small \color{blue}{π}$
N(pi, 3)
$\quad \small \color{blue}{3.14}$
pi.evalf(3)
$\quad \small \color{blue}{3.14}$

r = h인 조건에서 반지름 1 in. 당 400 cm3의 변화가 일어나는 실린더의 차원을 계산해 봅니다.

v11=v1.subs(h,r)
print(v11)
$\quad \small \color{blue}{2πhr^2}$
sol=solve(Eq(v11, 400), r)
sol
$\quad \small \color{blue}{\left[\frac{-10 \sqrt{2}}{\sqrt{\pi}}\,\quad \frac{-10 \sqrt{2}}{\sqrt{\pi}}\right]}$
sol[1].evalf(3)
$\quad \small \color{blue}{7.98}$

미분 식에 r = h인 조건을 충족시키기 위해 높이 h를 반지름 r로 치환했습니다. 이 때 변화율이 400 cm3이 될 때의 r값은 solve()함수로 계산하였습니다. 그 결과는 반지름이므로 양의 값이 되어야 하므로 sol 중 두번째 값이 됩니다.

예 7)
  Féry의 방사선 고온계는 다음 식과 같이 온도에 의해 값을 나타냅니다.

$$\frac{\theta}{\theta_1}=\left(\frac{t}{t_1}\right)^{4}$$

θ1는 알려진 온도 t1에 대응하는 방사선 고온계의 값입니다. 1000°C 일때 25라면 800°C, 1000°C, 1200°C 일때의 변화량을 계산해 봅시다.

theta1, t, t1 =symbols("theta1, t, t1")
theta=Function("theta")(t)
eq1=(t/t1)**4*theta1
eq1
$\quad \small \color{blue}{\frac{t^4 \theta_1}{t^4_1}}$
Eq(theta, eq1)
$\quad \small \color{blue}{\theta(t) =\frac{t^4 \theta_1}{t^4_1}}$
#계산에 필요한 부분은 우항
eq=eq1.subs({t1:1000, theta1:25})
eq
$\quad \small \color{blue}{\frac{t^4}{40000000000}}$
dth=eq.diff(t)
dth
$\quad \small \color{blue}{\frac{t^3}{10000000000}}$
t_val=[800, 1000, 1200]
re={}
for i in t_val:
	re[i]=dth.subs(t, i).evalf(3)
re
{800: 0.0512, 1000: 0.100, 1200: 0.173}

댓글

이 블로그의 인기 게시물

[Linear Algebra] 유사변환(Similarity transformation)

유사변환(Similarity transformation) n×n 차원의 정방 행렬 A, B 그리고 가역 행렬 P 사이에 식 1의 관계가 성립하면 행렬 A와 B는 유사행렬(similarity matrix)이 되며 행렬 A를 가역행렬 P와 B로 분해하는 것을 유사 변환(similarity transformation) 이라고 합니다. $$\tag{1} A = PBP^{-1} \Leftrightarrow P^{-1}AP = B $$ 식 2는 식 1의 양변에 B의 고유값을 고려한 것입니다. \begin{align}\tag{식 2} B - \lambda I &= P^{-1}AP – \lambda P^{-1}P\\ &= P^{-1}(AP – \lambda P)\\ &= P^{-1}(A - \lambda I)P \end{align} 식 2의 행렬식은 식 3과 같이 정리됩니다. \begin{align} &\begin{aligned}\textsf{det}(B - \lambda I ) & = \textsf{det}(P^{-1}(AP – \lambda P))\\ &= \textsf{det}(P^{-1}) \textsf{det}((A – \lambda I)) \textsf{det}(P)\\ &= \textsf{det}(P^{-1}) \textsf{det}(P) \textsf{det}((A – \lambda I))\\ &= \textsf{det}(A – \lambda I)\end{aligned}\\ &\begin{aligned}\because \; \textsf{det}(P^{-1}) \textsf{det}(P) &= \textsf{det}(P^{-1}P)\\ &= \textsf{det}(I)\end{aligned}\end{align} 유사행렬의 특성 유사행렬인 두 정방행렬 A와 B는 'A ~ B' 와 같

[matplotlib] 히스토그램(Histogram)

히스토그램(Histogram) 히스토그램은 확률분포의 그래픽적인 표현이며 막대그래프의 종류입니다. 이 그래프가 확률분포와 관계가 있으므로 통계적 요소를 나타내기 위해 많이 사용됩니다. plt.hist(X, bins=10)함수를 사용합니다. x=np.random.randn(1000) plt.hist(x, 10) plt.show() 위 그래프의 y축은 각 구간에 해당하는 갯수이다. 빈도수 대신 확률밀도를 나타내기 위해서는 위 함수의 매개변수 normed=True로 조정하여 나타낼 수 있다. 또한 매개변수 bins의 인수를 숫자로 전달할 수 있지만 리스트 객체로 지정할 수 있다. 막대그래프의 경우와 마찬가지로 각 막대의 폭은 매개변수 width에 의해 조정된다. y=np.linspace(min(x)-1, max(x)+1, 10) y array([-4.48810153, -3.54351935, -2.59893717, -1.65435499, -0.70977282, 0.23480936, 1.17939154, 2.12397372, 3.0685559 , 4.01313807]) plt.hist(x, y, normed=True) plt.show()

R 미분과 적분

내용 expression 미분 2차 미분 mosaic를 사용한 미분 적분 미분과 적분 R에서의 미분과 적분 함수는 expression()함수에 의해 생성된 표현식을 대상으로 합니다. expression expression(문자, 또는 식) 이 표현식의 평가는 eval() 함수에 의해 실행됩니다. > ex1<-expression(1+0:9) > ex1 expression(1 + 0:9) > eval(ex1) [1] 1 2 3 4 5 6 7 8 9 10 > ex2<-expression(u, 2, u+0:9) > ex2 expression(u, 2, u + 0:9) > ex2[1] expression(u) > ex2[2] expression(2) > ex2[3] expression(u + 0:9) > u<-0.9 > eval(ex2[3]) [1] 0.9 1.9 2.9 3.9 4.9 5.9 6.9 7.9 8.9 9.9 미분 D(표현식, 미분 변수) 함수로 미분을 실행합니다. 이 함수의 표현식은 expression() 함수로 생성된 객체이며 미분 변수는 다음 식의 분모의 변수를 의미합니다. $$\frac{d}{d \text{변수}}\text{표현식}$$ 이 함수는 어떤 함수의 미분의 결과를 표현식으로 반환합니다. > D(expression(2*x^3), "x") 2 * (3 * x^2) > eq<-expression(log(x)) > eq expression(log(x)) > D(eq, "x") 1/x > eq2<-expression(a/(1+b*exp(-d*x))); eq2 expression(a/(1 + b * exp(-d * x))) > D(eq2, "x") a * (b * (exp(-d * x) * d))/(1 + b