2020年8月7日金曜日

学習環境

微分積分学 (ちくま学芸文庫) (吉田 洋一(著)、筑摩書房)のⅣ.(積分法)、演習問題13、14、15、16、17.の解答を求めてみる。


  1. 0a(a2x-x3)dx
    =[a22x2-14x4]0a
    =a44

  2. 0a(a-t)2dt
    =0a(a-2at+t)dt
    =a2-2a·23[t32]0a+12[t2]0a
    =a2-43a2+12a2
    =6-8+36a2
    =a26

  3. 01xdxx2+4
    =[x2+4]01
    =5-2

  4. 01z21-zdz
    =[z2(-23(1-z)32)]01+4301z(1-z)32dz
    =43([z(-25(1-z)52)]01+2501(1-z)52dz)
    =43·25(-27)[(1-z)72]01
    =43·25·27
    =16105

  5. x3x2+a2dx
    =x2x2+a2-2xx2+a2dx
    =x2x2+a2-23(x2+a2)32
    0ax3x2+a2dx
    =[x2x2+a2-23(x2+a2)32]0a
    =2a3-23·(2a2)32+23(a2)32
    =2a3-23·232·a3+23·a3
    =(2-423+23)a3
    =2-23a3

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import Integral, symbols, sqrt, Rational
from sympy.abc import a, x

print('13、14、15、16、17.')


class Test(TestCase):
    def test(self):
        ap = symbols('a', positive=True)
        fs = [a ** 2 * x - x ** 3,
              (sqrt(ap) - sqrt(x)) ** 2,
              x / sqrt(x ** 2 + 4),
              x ** 2 * sqrt(1 - x),
              x ** 3 / sqrt(x ** 2 + ap ** 2)]
        xs = [(0, a),
              (0, ap),
              (0, 1),
              (0, 1),
              (0, ap)]
        ds = [a ** 4 / 4,
              ap ** 2 / 6,
              sqrt(5) - 2,
              Rational(16, 105),
              (2 - sqrt(2)) / 3 * ap ** 3]
        for i, (f, (x1, x2), d) in enumerate(zip(fs, xs, ds), 13):
            print(f'({i})')
            self.assertEqual(Integral(f, (x, x1, x2)).doit().simplify(),
                             d.simplify())


if __name__ == "__main__":
    main()

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

% ./sample13.py -v
13、14、15、16、17.
test (__main__.Test) ... (13)
(14)
(15)
(16)
(17)
ok

----------------------------------------------------------------------
Ran 1 test in 2.690s

OK
%

0 コメント:

コメントを投稿