2019年11月30日土曜日

学習環境

解析入門(上) (松坂和夫 数学入門シリーズ 4) (松坂 和夫(著)、岩波書店)の第7章(積分法)、7.3(不定積分、広義積分)、問題1の解答を求めてみる。



    1. 0 a dx a 2 - x 2 = lim b a - 0 b dx a 2 - x 2 = lim b a - arcsin x a 0 b = lim b a - arcsin b a - arcsin 0 = arcsin 1 = π 2

    2. - + dx a 2 + x 2 = 2 0 + dx a 2 + x 2 = 2 lim b + 0 b dx a 2 + x 2 = 2 a lim b + arctan x 0 b = 2 a lim b + arctan b - arctan 0 = 2 a · π 2 = π a

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import pprint, symbols, Integral, Derivative, pi, oo, sqrt, plot

print('1.')

x = symbols('x', real=True)
a = symbols('x', positive=True)


class MyTestCase(TestCase):
    def test_arcsin(self):
        self.assertEqual(
            Integral(1 / sqrt(a ** 2 - x ** 2), (x, 0, a)).doit(), pi / 2)

    def test_arctan(self):
        self.assertEqual(Integral(1 / (a ** 2 + x ** 2),
                                  (x, -oo, oo)).doit(), pi / a)


p = plot((1 / sqrt(1 - x ** 2), (x, -0.9, 0.9)),
         (1 / 1 + x ** 2, (x, -2, 2)),
         ylim=(0, 4),
         show=False,
         legend=True)

colors = ['red', 'green', 'blue', 'brown', 'orange',
          'purple', 'pink', 'gray', 'skyblue', 'yellow']

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

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

if __name__ == '__main__':
    main()

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

% ./sample1.py -v
1.
test_arcsin (__main__.MyTestCase) ... ok
test_arctan (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.335s

OK
%

0 コメント:

コメントを投稿