2019年11月9日土曜日

学習環境

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



    1. sin 1 5 = sin 6 0 - 4 5 = sin 1 3 π - 1 4 π = sin π 3 cos π 4 - cos π 3 sin π 4 = 3 2 · 1 2 - 1 2 · 1 2 = 3 - 1 2 2 = 6 - 2 4

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

    3. sin 10 5 = sin 7 12 π = sin π 2 + π 12 = sin π 2 cos π 12 + cos π 2 sin π 12 = 6 + 2 4

    4. cos 10 5 = cos 7 12 π = - sin 7 12 π - π 2 = - sin π 12 = 2 - 6 4

    5. sin 12 0 = sin 2 3 π = 3 2

    6. cos 12 0 = cos 2 3 π = - 1 2

    7. sin 16 5 = sin 165 180 π = sin 11 12 π = sin 10 12 π + 1 12 π = sin 5 6 π + π 12 = sin 5 6 π cos π 12 + cos 5 6 π sin π 12 = 1 2 · 6 + 2 4 - 3 2 · 6 - 2 4 = 6 + 2 - 18 + 6 8 = 2 6 + 2 - 3 2 8 = 2 6 - 2 2 8 = 6 - 2 4

    8. cos 16 5 = cos 11 12 π = - cos 11 12 π - π = - cos - π 12 = - cos π 12 = - 6 + 2 4

コード

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

print('16.')


class MyTestCase(TestCase):

    def test(self):
        angles = [15, 105, 120, 165]
        fs = [sin, cos]
        results = [(sqrt(6) - sqrt(2)) / 4,
                   (sqrt(6) + sqrt(2)) / 4,
                   (sqrt(6) + sqrt(2)) / 4,
                   (sqrt(2) - sqrt(6)) / 4,
                   sqrt(3) / 2,
                   -Rational(1, 2),
                   (sqrt(6) - sqrt(2)) / 4,
                   -(sqrt(6) + sqrt(2)) / 4]
        for i, angle in enumerate(angles):
            for j, f in enumerate(fs):
                self.assertAlmostEqual(f(math.radians(angle)),
                                       float(results[2 * i + j]))


if __name__ == '__main__':
    main()

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

% ./sample16.py -v
16.
test (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.011s

OK
%

0 コメント:

コメントを投稿