2019年4月10日水曜日

学習環境

解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第4部(級数)、第14章(テイラーの公式)、4(指数関数)の練習問題11-(c)の解答を求めてみる。



    1. 置換積分法。

      t = x 2 dt dx = 2 x x = 0 , t = 1 x = 1 , x = 1 0 1 e x 2 dx = 1 2 0 1 e t t dt e t = 1 + t + 1 2 ! t 2 + 1 3 ! t 3 + 1 4 ! t 4 + 1 5 ! t 5 + R 6 t R 6 t e · t 6 6 ! 3 · t 6 6 ! = t 6 240

      よって、

      e t t = 1 t + t + 1 2 ! t t + 1 3 ! t 2 t + 1 4 ! t t 3 + 1 5 ! t t 4 + R 6 t t R 6 t t 1 240 t t 5

      ゆえに、

      1 2 0 1 e t t dt = t + 1 3 t t + 1 5 · 2 ! t 2 t + 1 7 · 3 ! t t 3 + 1 9 · 4 ! t t 4 + 1 11 · 5 ! t t 5 0 1 + 1 2 0 1 R 6 t t dt 1 2 0 1 R 6 t t dt 1 2 · 2 13 · 1 240 = 1 13 · 240 < 1 0 - 3

      したがって、求める積分の小数第3位までの値は、

      1 + 1 3 + 1 5 · 2 ! + 1 7 · 3 ! + 1 9 · 4 ! + 1 11 · 5 !

コード

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, exp, plot, factorial, Integral, Rational

print('11-(c).')

x = symbols('x')
f = exp(x ** 2)
If = Integral(f, (x, 0, 1))
y = sum([1 / ((2 * k + 1) * factorial(k)) for k in range(6)])
g = Rational(1, 2) * \
    sum([1 / ((2 * k + 1) * factorial(k)) * x ** Rational(2 * k - 1, 2)
         for k in range(6)])

for o in [If, If.doit(), float(If.doit()), float(y), g]:
    pprint(o)
    print()


p = plot(f, g, y,
         (x, 0, 5),
         ylim=(0, 5),
         show=False, legend=False)
colors = ['red', 'green', 'blue', 'brown']

for s, color in zip(p, colors):
    s.line_color = color

p.show()
p.save('sample11.png')

入出力結果(cmd(コマンドプロンプト)、Terminal、Jupyter(IPython))

C:\Users\...>py sample11.py
11-(c).
1         
⌠         
⎮  ⎛ 2⎞   
⎮  ⎝x ⎠   
⎮ ℯ     dx
⌡         
0         

√π⋅erfi(1)
──────────
    2     

1.4626517459071815

1.4625300625300626

 9/2    7/2    5/2    3/2            
x      x      x      x      √x    1  
──── + ──── + ──── + ──── + ── + ────
2640   432     84     20    6    2⋅√x


C:\Users\...>

0 コメント:

コメントを投稿