2019年11月16日土曜日

学習環境

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



    1. sin θ = cos θ sin θ - cos θ = 0 2 sin θ cos 7 4 π + cos θ sin 7 4 π = 0 2 sin θ + 7 4 π = 0 θ + 7 4 π = n π θ = n π - 7 4 π θ = π 4 , 5 4 π

    2. sin θ + cos θ = - 1 2 sin θ cos π 4 + cos θ sin π 4 = - 1 2 sin θ + π 4 = - 1 sin θ + π 4 = - 1 2 θ + π 4 = 5 4 π + 2 n π , 7 4 π + 2 m π θ = π , 3 2 π

    3. sin θ - 3 cos θ = 0 2 sin θ cos 5 3 π + cos θ sin 5 3 π = 0 2 sin θ + 5 3 π = 0 θ + 5 3 π = n π θ = - 5 3 π + n π θ = 1 3 π , 4 3 π

    4. cos θ - 3 sin θ = 1 2 sin 5 6 π cos θ + cos 5 6 π sin θ = 1 2 sin θ + 5 6 π = 1 sin θ + 5 6 π = 1 2 θ + 5 6 π = π 6 + 2 n π , 5 6 π + 2 m π θ = 0 , 4 3 π

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import pprint, symbols, sin, cos, sqrt, pi, solveset, Interval

print('21.')
theta = symbols('θ')


class MyTestCase(TestCase):
    def test(self):
        spam = [sin(theta) - cos(theta),
                sin(theta) + cos(theta) + 1,
                sin(theta) - sqrt(3) * cos(theta),
                cos(theta) - sqrt(3) * sin(theta) - 1]
        egg = [{pi / 4, 5 * pi / 4},
               {pi, 3 * pi / 2},
               {pi / 3, 4 * pi / 3},
               {0, 4 * pi / 3}]
        for s, t in zip(spam, egg):
            self.assertEqual(
                solveset(s, theta, domain=Interval.Ropen(0, 2 * pi)), t)


if __name__ == '__main__':
    main()

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

% ./sample21.py -v
21.
test (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 1 test in 1.055s

OK
%

0 コメント:

コメントを投稿