2019年12月10日火曜日

学習環境

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



    1. cos 2 A + cos 2 B + cos 2 C = cos A + B + A - B + cos A + B - A - B + cos 2 π - 2 A + B = 2 cos A + B cos A - B + cos 2 A + B = 2 cos A + B cos A - B + 2 cos 2 A + B - 1 = - 1 + 2 cos A + B cos A - B + cos A + B = - 1 + 2 cos π - C cos A cos B = - 1 + 2 cos A cos B cos C

    2. sin A + sin B + sin C = sin A 2 + B 2 + A 2 - B 2 + sin A 2 + B 2 - A 2 - B 2 + sin π - A + B = 2 sin A 2 + B 2 cos A 2 - B 2 + sin A + B = 2 sin A + B 2 cos A - B 2 + sin 2 · A + B 2 = 2 sin A + B 2 cos A 2 - B 2 + 2 sin A + B 2 cos A + B 2 = 2 A + B 2 cos A - B 2 + cos A + B 2 = 2 sin π - C 2 cos A - B 2 + cos A + B 2 = 2 cos C 2 cos A - B 2 + cos A + B 2 = 2 cos C 2 · 2 cos A 2 cos B 2 = 4 cos A 2 cos B 2 cos C 2

    3. cos A + cos B + cos C = 2 cos A + B 2 cos A - B 2 + cos π - A + B = 2 cos A + B 2 cos A - B 2 - cos A + B = 2 cos A + B 2 cos A - B 2 - cos 2 · A + B 2 = 2 cos A + B 2 cos A - B 2 - cos 2 A + B 2 - sin 2 A + B 2 = 2 cos A + B 2 cos A - B 2 - 2 cos 2 A + B 2 - 1 = 1 + 2 cos A + B 2 cos A - B 2 - cos A + B 2 = 1 + 2 cos π - C 2 · 2 sin A 2 sin B 2 = 1 + 4 sin A 2 sin B 2 - sin - C 2 = 1 + 4 c i n A 2 sin B 2 sin C 2

    4. tan A + tan B + tan C = tan A + tan B + tan π - A + B = tan A + tan B - tan A + B = tan A + tan B - tan A + tan B 1 - tan A tan B = - tan A tan B tan A + tan B 1 - tan A tan B = - tan A tan B tan A + B = - tan A tan B tan π - C = - tan A tan B - tan C = tan A tan B tan C

      (証明終)

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import sin, cos, tan, Rational, pi

print('37.')

a = 1
b = 2
c = pi - (a + b)


class MyTestCase(TestCase):
    def test1(self):
        self.assertEqual(float(cos(2 * a) + cos(2 * b) + cos(2 * c)),
                         float(-1 - 4 * cos(a) * cos(b) * cos(c)))

    def test2(self):
        self.assertAlmostEqual(float(sin(a) + sin(b) + sin(c)),
                               float(4 * cos(a / 2) * cos(b / 2) * cos(c / 2)))

    def test3(self):
        self.assertEqual(float(cos(a) + cos(b) + cos(c)),
                         float(1 + 4 * sin(a / 2) * sin(b / 2) * sin(c / 2)))

    def test4(self):
        self.assertEqual(float(tan(a) + tan(b) + tan(c)),
                         float(tan(a) * tan(b) * tan(c)))


if __name__ == '__main__':
    main()

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

% ./sample37.py -v
37.
test1 (__main__.MyTestCase) ... ok
test2 (__main__.MyTestCase) ... ok
test3 (__main__.MyTestCase) ... ok
test4 (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 4 tests in 0.029s

OK
%

0 コメント:

コメントを投稿