2019年12月27日金曜日

学習環境

解析入門(上) (松坂和夫 数学入門シリーズ 4) (松坂 和夫(著)、岩波書店)の第8章(積分の計算)、8.1(不定積分の計算)、問題5の解答を求めてみる。



    1. 以下積分定数は省略。

      tan 3 x dx = sin 3 x cos 3 x dx = sin 3 x cos - 3 x dx = I 3 , - 3 = - sin 4 x cos - 2 x - 2 + 2 - 2 I 3 , - 1 = sin 4 x 2 cos 2 x - - sin 2 x 2 + 2 2 I 1 , - 1 = sin 4 x 2 cos 2 x + sin 2 x 2 - sin x cos - 1 x dx = sin 4 x 2 cos 2 x + sin 2 x 2 + log cos x = sin 2 x sin 2 x + cos 2 x 2 cos 2 x + log cos x = tan 2 x 2 + log cos x

    2. sin 2 x cos 2 x dx = sin 3 x cos x 4 + 1 4 I 2 , 0 = sin 3 x cos x 4 + 1 4 sin 2 x cos 0 x dx = sin 3 x cos x 4 + 1 4 - sin x cos x 2 + 1 2 sin 0 x cos 0 x d = sin 3 x cos x 4 - sin x cos x 8 + 1 8 x = 1 8 sin x cos x 2 sin 2 x - 1 + x = 1 8 sin x cos x cos 0 - cos 2 x - 1 + x = 1 8 x - sin x cos x cos 2 x

    3. dx sin 3 x cos 3 x = I - 3 , - 3 = - sin - 2 x cos - 2 x - 2 + - 6 + 2 - 2 I - 3 , - 1 = sin - 2 x cos - 2 x 2 + 2 sin - 2 x cos 0 x - 2 + - 2 - 2 I - 1 , - 1 = sin - 2 x cos - 2 x 2 - sin - 2 x + 2 1 sin x cos x dx = sin - 2 x cos - 2 x 2 - sin - 2 x + 2 log tan x = 1 2 sin 2 x cos 2 x - 1 sin 2 x + 2 log tan x

コード

#!/usr/bin/env python3
from sympy import pprint, symbols, Integral, sin, cos, tan, log, plot

print('5.')

x = symbols('x')
m, n = symbols('m, n', integer=True)
fs = [tan(x) ** 3, sin(x) ** 2 * cos(x) ** 2, 1 / (sin(x) ** 3 * cos(x) ** 3)]
gs = [tan(x) ** 2 / 2 + log(abs(cos(x))),
      (x - sin(x) * cos(x) * cos(2 * x)) / 8,
      1 / (2 * sin(x) ** 2 * cos(x) ** 2) - 1 / sin(x) ** 2 + 2 * log(abs(tan(x)))]


for i, f in enumerate(fs, 1):
    print(f'({i})')
    I = Integral(f, x)
    for o in [I, I.doit()]:
        pprint(o.simplify())
        print()

p = plot(*fs, *gs,
         (x, -5, 5),
         ylim=(-5, 5),
         legend=False,
         show=False)
colors = ['red', 'green', 'blue', 'brown', 'orange',
          'purple', 'pink', 'gray', 'skyblue', 'yellow']

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

for o in zip(fs + gs, colors):
    pprint(o)

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

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample5.py
5.
(1)
⌠           
⎮    3      
⎮ tan (x) dx
⌡           

                  1    
log(cos(x)) + ─────────
                   2   
              2⋅cos (x)

(2)
⌠                  
⎮ ⎛1   cos(4⋅x)⎞   
⎮ ⎜─ - ────────⎟ dx
⎮ ⎝8      8    ⎠   
⌡                  

x   sin(4⋅x)
─ - ────────
8      32   

(3)
⌠                   
⎮        1          
⎮ ─────────────── dx
⎮    3       3      
⎮ sin (x)⋅cos (x)   
⌡                   

                   ⎛    2   ⎞      1              1        
2⋅log(sin(x)) - log⎝-cos (x)⎠ + ─────── - ─────────────────
                                   2           2       2   
                                cos (x)   2⋅sin (x)⋅cos (x)

⎛   3        ⎞
⎝tan (x), red⎠
⎛   2       2          ⎞
⎝sin (x)⋅cos (x), green⎠
⎛       1             ⎞
⎜───────────────, blue⎟
⎜   3       3         ⎟
⎝sin (x)⋅cos (x)      ⎠
⎛                   2          ⎞
⎜                tan (x)       ⎟
⎜log(│cos(x)│) + ───────, brown⎟
⎝                   2          ⎠
⎛x   sin(x)⋅cos(x)⋅cos(2⋅x)        ⎞
⎜─ - ──────────────────────, orange⎟
⎝8             8                   ⎠
⎛                     1              1                ⎞
⎜2⋅log(│tan(x)│) - ─────── + ─────────────────, purple⎟
⎜                     2           2       2           ⎟
⎝                  sin (x)   2⋅sin (x)⋅cos (x)        ⎠
%

0 コメント:

コメントを投稿