2019年12月7日土曜日

学習環境

新装版 数学読本2 (松坂 和夫(著)、岩波書店)の第8章(円の中にひそむ関数 - 三角関数)、8.2(加法定理)、三角関数の諸公式の問35の解答を求めてみる。



    1. sin 7 5 cos 1 5 = 1 2 sin 7 5 + 1 5 + sin 7 5 - 1 5 = 1 2 sin π 2 + sin π 3 = 1 2 1 + 3 2 = 1 2 · 2 + 3 2 = 2 + 3 4

    2. cos 22. 5 cos 67. 5 = cos 22. 5 + 67. 5 + cos 67. 5 - 22. 5 2 = 1 2 cos π 2 + cos π 4 = 1 2 0 + 1 2 = 1 2 2

    3. sin 52. 5 sin 7. 5 = 1 2 cos 52. 5 - 7. 5 - cos 52. 5 · + 7. 5 = 1 2 cos π 4 - cos π 3 = 1 2 1 2 - 1 2 = 1 2 · 2 - 2 2 2 = 1 2 2 2 - 2 4 = 2 - 1 4

    4. cos 4 0 cos 2 0 - cos 7 0 cos 5 0 = 1 2 cos 4 0 + 2 0 + cos 4 0 - 2 0 - cos 7 0 + 5 0 + cos 7 0 - 5 0 = 1 2 cos 6 0 + cos 20 · - cos 12 0 - cos 2 0 = 1 2 1 2 - 1 2 = 0

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import pprint, symbols, sin, cos, Rational, rad, sqrt

print('35.')


class MyTestCase(TestCase):
    def test(self):
        exprs = [sin(rad(75)) * cos(rad(15)),
                 cos(rad(22.5)) * cos(rad(67.5)),
                 sin(rad(52.5)) * sin(rad(7.5)),
                 cos(rad(40)) * cos(rad(20)) - cos(rad(70)) * cos(rad(50))]
        egg = [(2 + sqrt(3)) / 4,
               1 / (2 * sqrt(2)),
               (sqrt(2) - 1) / 4,
               Rational(1, 2)]
        for s, t in zip(exprs, egg):
            self.assertAlmostEqual(float(s), float(t))


if __name__ == '__main__':
    main()

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

% ./sample35.py -v
35.
test (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.047s

OK
%

0 コメント:

コメントを投稿