문제 은행 · 미적분 · 대학 미적분 · 급수 심화

테일러 다항식과 오차

먼저 혼자 풀어 보고, 풀이로 확인한 다음, 아래 「한 번 더」 문제로 이어서 연습하세요.

CLP-1 · 3.4절 · 12번대학 수준우리말 번역

테일러 다항식을 이용하여 22007\sqrt[7]{2200} 의 값을 어림하세요. 어림값의 오차는 0.001 보다 작아야 합니다.

영어 원문 보기

Give an estimation of 22007\sqrt[7]{2200} using a Taylor polynomial. Your estimation should have an error of less than 0.001.

정답·풀이 보기

테일러 다항식을 이용하여 f(x)=x17f(x)=x^{\tfrac{1}{7}} 을 근사하자. 37=21873^7=2187 이므로 중심을 x=2187x=2187 로 잡는다.

오차가 충분히 작아지려면 몇 차 테일러 다항식을 써야 하는지 알아내야 한다.

nn차 테일러 다항식을 사용하면 오차는 다음과 같다.

∣f(2200)−Tn(2200)∣=∣f(n+1)(c)(n+1)!(2200−2187)n+1∣=∣f(n+1)(c)∣⋅13n+1(n+1)!어떤 c 가 (2187,2200) 안에 있다. 이 값이 0.001 보다 작으려면 다음이 성립해야 한다.∣f(n+1)(c)∣⋅13n+1(n+1)!<0.001∣f(n+1)(c)∣<(n+1)!1000⋅13n+1\begin{aligned} \left|f(2200)-T_n(2200)\right|&=\left|\frac{f^{(n+1)}(c)}{(n+1)!}(2200-2187)^{n+1}\right|\\ &=\left|f^{(n+1)}(c)\right|\cdot\frac{13^{n+1}}{(n+1)!} \\ \text{어떤 $c$ 가 $(2187,2200)$ 안에 있다. 이 값이 0.001 보다 작으려면 다음이 성립해야 한다.} \\ \left|f^{(n+1)}(c)\right|\cdot\frac{13^{n+1}}{(n+1)!}&<0.001\\ \left|f^{(n+1)}(c)\right|&<\frac{ (n+1)!}{1000\cdot13^{n+1}} \end{aligned}

어떤 nn 에서 이 부등식이 성립하는지 알아내기는 까다롭다. 표를 만들어 보자. 표를 채우는 계산 과정을 모두 보이지는 않지만, 계산은 일반적인 방법을 따른다.

n(n+1)!1000⋅13n+1∣f(n+1)(c)∣Is ∣f(n+1)(c)∣<(n+1)!1000⋅13n+1?      011000⋅13∣f′(c)∣=17c6/7<17⋅36      121000⋅132∣f′′(c)∣=672⋅c137<672⋅313Yes!\begin{array}{c|c|c|c} n & \dfrac{(n+1)!}{1000\cdot 13^{n+1}} & \left|f^{(n+1)}(c)\right| & \textup{Is }\left|f^{(n+1)}(c)\right|<\dfrac{ (n+1)!}{1000\cdot13^{n+1}}\textup{?} \\~&~&~\\ \hline ~&~&~\\ 0&\dfrac{1}{1000\cdot 13}&|f'(c)|=\dfrac{1}{7c^{6/7}}<\dfrac{1}{7\cdot 3^6}& \\~&~&~\\ \hline ~&~&~\\ 1&\dfrac{2}{1000\cdot 13^2}&|f''(c)|=\dfrac{6}{7^2\cdot c^{\tfrac{13}{7}}}<\dfrac{6}{7^2\cdot 3^{13}}&\textup{Yes!} \end{array}

즉, 1차 테일러 다항식을 사용하면 21872187 과 22002200 사이의 어떤 cc 에 대해

∣f(2200)−T1(2200)∣=∣f′′(c)∣⋅1322!=672⋅c137⋅1322<672⋅313⋅1322=3⋅13272⋅313≈0.0000065\begin{aligned} |f(2200)-T_1(2200)|&=\left|f''(c)\right|\cdot\frac{13^2}{2!}\\ &=\frac{6}{7^2\cdot c^{\tfrac{13}{7}}}\cdot\frac{13^2}{2}\\ &<\dfrac{6}{7^2\cdot 3^{13}}\cdot\dfrac{13^2}{2}\\ &=\dfrac{3\cdot 13^2}{7^2 \cdot 3^{13}}\approx 0.0000065 \end{aligned}

따라서 사실 1차 테일러 다항식(또는 더 높은 차수의 테일러 다항식)을 쓰면 요구되는 것보다 훨씬 정확한 어림값을 얻는다. (그러나 상수 근사가 충분히 정확한지는 알 수 없으므로 n≥1n \geq 1 을 쓰는 것이 좋다.)

1차 테일러 다항식을 쓸 수 있음을 알았으므로 T1(x)T_1(x) 를 계산하자. x=2187x=2187 에서 f(x)=x17f(x)=x^{\tfrac{1}{7}} 의 테일러 다항식을 구하는 것임을 기억하자.

f(2187)=218717=3f′(x)=17x−67f′(2187)=17218776=17⋅36T1(x)=f(2187)+f′(2187)(x−2187)=3+x−21877⋅36T1(2200)=3+2200−21877⋅36=3+137⋅36≈3.00255\begin{aligned} f(2187)&=2187^{\tfrac{1}{7}}=3\\ f'(x)&=\frac{1}{7}x^{-\tfrac{6}{7}}\\ f'(2187)&=\frac{1}{7\sqrt[7]{2187}^6}=\frac{1}{7\cdot3^6}\\ T_1(x)&=f(2187)+f'(2187)(x-2187)\\ &=3+\frac{x-2187}{7\cdot3^6}\\ T_1(2200)&=3+\frac{2200-2187}{7\cdot3^6}\\ &=3+\frac{13}{7\cdot 3^6}\\ &\approx 3.00255 \end{aligned}

따라서 22007≈3.00255\sqrt[7]{2200}\approx 3.00255 이다.

원본 교재 풀이(영어)

We will approximate f(x)=x17f(x)=x^{\tfrac{1}{7}} using a Taylor polynomial. Since 37=21873^7=2187, we will use x=2187x=2187 as our centre.

We need to figure out which order Taylor polynomial will result in a small enough error.

If we use the nnth Taylor polynomial, our error will be

∣f(2200)−Tn(2200)∣=∣f(n+1)(c)(n+1)!(2200−2187)n+1∣=∣f(n+1)(c)∣⋅13n+1(n+1)!for some c in (2187,2200). In order for this to be less than 0.001, we need∣f(n+1)(c)∣⋅13n+1(n+1)!<0.001∣f(n+1)(c)∣<(n+1)!1000⋅13n+1\begin{aligned} \left|f(2200)-T_n(2200)\right|&=\left|\frac{f^{(n+1)}(c)}{(n+1)!}(2200-2187)^{n+1}\right|\\ &=\left|f^{(n+1)}(c)\right|\cdot\frac{13^{n+1}}{(n+1)!} \\ \text{for some $c$ in $(2187,2200)$. In order for this to be less than 0.001, we need} \\ \left|f^{(n+1)}(c)\right|\cdot\frac{13^{n+1}}{(n+1)!}&<0.001\\ \left|f^{(n+1)}(c)\right|&<\frac{ (n+1)!}{1000\cdot13^{n+1}} \end{aligned}

It's a tricky thing to figure out which nn makes this true. Let's make a table. We won't show all the work of filling it in, but the work is standard.

n(n+1)!1000⋅13n+1∣f(n+1)(c)∣Is ∣f(n+1)(c)∣<(n+1)!1000⋅13n+1?      011000⋅13∣f′(c)∣=17c6/7<17⋅36      121000⋅132∣f′′(c)∣=672⋅c137<672⋅313Yes!\begin{array}{c|c|c|c} n & \dfrac{(n+1)!}{1000\cdot 13^{n+1}} & \left|f^{(n+1)}(c)\right| & \textup{Is }\left|f^{(n+1)}(c)\right|<\dfrac{ (n+1)!}{1000\cdot13^{n+1}}\textup{?} \\~&~&~\\ \hline ~&~&~\\ 0&\dfrac{1}{1000\cdot 13}&|f'(c)|=\dfrac{1}{7c^{6/7}}<\dfrac{1}{7\cdot 3^6}& \\~&~&~\\ \hline ~&~&~\\ 1&\dfrac{2}{1000\cdot 13^2}&|f''(c)|=\dfrac{6}{7^2\cdot c^{\tfrac{13}{7}}}<\dfrac{6}{7^2\cdot 3^{13}}&\textup{Yes!} \end{array}

That is: if we use the first order Taylor polynomial, then for some cc between 21872187 and 22002200,

∣f(2200)−T1(2200)∣=∣f′′(c)∣⋅1322!=672⋅c137⋅1322<672⋅313⋅1322=3⋅13272⋅313≈0.0000065\begin{aligned} |f(2200)-T_1(2200)|&=\left|f''(c)\right|\cdot\frac{13^2}{2!}\\ &=\frac{6}{7^2\cdot c^{\tfrac{13}{7}}}\cdot\frac{13^2}{2}\\ &<\dfrac{6}{7^2\cdot 3^{13}}\cdot\dfrac{13^2}{2}\\ &=\dfrac{3\cdot 13^2}{7^2 \cdot 3^{13}}\approx 0.0000065 \end{aligned}

So, actually, the linear Taylor polynomial (or any higher order Taylor polynomial) will result in an approximation that is much more accurate than required. (We don't know, however, that the constant approximation will be accurate enough–so we'd better stick with n≥1n \geq 1.)

Now that we know we can take the first order Taylor polynomial, let's compute T1(x)T_1(x). Recall we are taking the Taylor polynomial for f(x)=x17f(x)=x^{\tfrac{1}{7}} about x=2187x=2187.

f(2187)=218717=3f′(x)=17x−67f′(2187)=17218776=17⋅36T1(x)=f(2187)+f′(2187)(x−2187)=3+x−21877⋅36T1(2200)=3+2200−21877⋅36=3+137⋅36≈3.00255\begin{aligned} f(2187)&=2187^{\tfrac{1}{7}}=3\\ f'(x)&=\frac{1}{7}x^{-\tfrac{6}{7}}\\ f'(2187)&=\frac{1}{7\sqrt[7]{2187}^6}=\frac{1}{7\cdot3^6}\\ T_1(x)&=f(2187)+f'(2187)(x-2187)\\ &=3+\frac{x-2187}{7\cdot3^6}\\ T_1(2200)&=3+\frac{2200-2187}{7\cdot3^6}\\ &=3+\frac{13}{7\cdot 3^6}\\ &\approx 3.00255 \end{aligned}

We conclude 22007≈3.00255\sqrt[7]{2200}\approx 3.00255.

한 번 더 — 비슷한 문제CLP-1 · 3.4절 · 11번우리말 번역

f(x)=log⁡(x)f(x)=\log(x) 라 하고, Tn(x)T_n(x) 를 x=1x=1 에서 f(x)f(x) 의 nn 차 테일러 다항식이라 하자. Tn(1.1)T_n(1.1) 을 사용하여 log⁡(1.1)\log (1.1) 을 어림한다. 어림값의 오차가 10−410^{-4} 이하가 되어야 한다면, 사용할 수 있는 nn 의 값은 무엇입니까?

다 풀었으면 정답 확인

오차는 어떤 상수 cc 에 대해 f(n+1)(c)(n+1)!(x−1)n+1\dfrac{f^{(n+1)}(c)}{(n+1)!}(x-1)^{n+1} 의 꼴이므로, f(n)(x)f^{(n)}(x) 에 대한 식을 구해 보자. 이는 교재에서 이미 다룬 적이 있지만 여기서 다시 해 보자. 도함수를 여러 번 구한 다음 규칙을 찾는다.

f(x)=log⁡xf′(x)=x−1f′′(x)=−x−2f′′′(x)=2! x−3f(4)(x)=−3! x−4f(5)(x)=4! x−5따라서 n≥1 일 때,f(n)(x)=(−1)n−1(n−1)!⋅x−n\begin{aligned} f(x)&=\log x\\ f'(x)&=x^{-1}\\ f''(x)&=-x^{-2}\\ f'''(x)&=2!\,x^{-3}\\ f^{(4)}(x)&=-3!\,x^{-4}\\ f^{(5)}(x)&=4!\,x^{-5} \\ \text{따라서 $n \geq 1$ 일 때,} \\ f^{(n)}(x)&=(-1)^{n-1}(n-1)!\cdot x^{-n} \end{aligned}

이제 f(x)f(x) 의 도함수를 알았으므로, 어림값의 오차가 어떤 모양인지 더 잘 알 수 있다.

∣f(1.1)−Tn(1.1)∣=∣f(n+1)(c)(n+1)!(1.1−1)n+1∣=∣f(n+1)(c)∣0.1n+1(n+1)!=∣n!cn+1∣110n+1(n+1)!=1∣c∣n+1⋅10n+1⋅(n+1)(1,1.1) 안의 어떤 c 에 대해<1(n+1)10n+1⋅1n+1=1(n+1)10n+1지금까지 보인 것은 다음과 같다.∣f(1.1)−Tn(1.1)∣<1(n+1)10n+11(n+1)10n+1≤10−4 임을 보일 수 있다면, 다음을 결론지을 수 있다.∣f(1.1)−Tn(1.1)∣<1(n+1)10n+1≤10−4\begin{aligned} \left|f(1.1)-T_n(1.1)\right|&=\left|\dfrac{f^{(n+1)}(c)}{(n+1)!}(1.1-1)^{n+1}\right|\\ &=\left|f^{(n+1)}(c)\right|\frac{0.1^{n+1}}{(n+1)!}\\ &=\left|\frac{n!}{c^{n+1}} \right|\frac{1}{10^{n+1}(n+1)!}\\ &=\frac{1}{ |c|^{n+1}\cdot10^{n+1}\cdot(n+1)} \\ \text{$(1,1.1)$ 안의 어떤 $c$ 에 대해} \\ &<\frac{1}{(n+1)10^{n+1}\cdot 1^{n+1}}\\ &=\frac{1}{(n+1)10^{n+1}} \\ \text{지금까지 보인 것은 다음과 같다.} \\ |f(1.1)-T_n(1.1)|&<\dfrac{1}{(n+1)10^{n+1}} \\ \text{$\dfrac{1}{(n+1)10^{n+1}}\le10^{-4}$ 임을 보일 수 있다면, 다음을 결론지을 수 있다.} \\ |f(1.1)-T_n(1.1)|&<\dfrac{1}{(n+1)10^{n+1}}\le10^{-4} \end{aligned}

즉, 오차가 10−410^{-4} 보다 작다.

따라서 이 문제의 목표는 1(n+1)10n+1≤10−4\dfrac{1}{(n+1)10^{n+1}}\le10^{-4} 이 되게 하는 nn 의 값을 찾는 것이다. n=3n=3 은 분명히 그러한 수이다. 그러므로 3 이상인 모든 nn 은 사용할 수 있는 값이다.

이 문제로 이어서 풀기
# 테일러 다항식과 오차계산도전자동 분류

「테일러 다항식과 오차」 문제 목록으로