Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

三角関数。不等式。(Python 3, SymPy: sin(), cos(), tan(), pprint(), solve())

使用するライブラリ

SymPy

Python 3 コード

trigonometric_functions6.py

#!/usr/bin/env python3


"""(docstring)
"""


import sympy as sym


def print_math_problems():
    """(docstring)
    """
    print("""問題:

以下の不等式を解け。

(1) sin θ > √3 / 2

(2) cos θ <= 1/2

(3) tan θ <= 1
""")


def solutions():
    """(docstring)
    """
    θ = sym.Symbol('θ')

    print('解答例:\n')

    expressions = [sym.sin(θ) > sym.sqrt(3)/2,
                   sym.cos(θ) <= sym.Rational(1/2),
                   # or sym.cos(θ) <= sym.Rational(1, 2)
                   sym.tan(θ) <= 1]

    for idx, expr in enumerate(expressions, 1):
        print('({})\n'.format(idx), end='')
        sym.pprint(sym.solve(expr, dict=True))
        print('')


if __name__ == '__main__':
    print_math_problems()
    print('-'*79)
    solutions()

出力

$ python3 trigonometric_functions6.py
問題:

以下の不等式を解け。

(1) sin θ > √3 / 2

(2) cos θ <= 1/2

(3) tan θ <= 1

-------------------------------------------------------------------------------
解答例:

(1)
π           2⋅π
─ < θ ∧ θ < ───
3            3 

(2)
π           5⋅π
─ ≤ θ ∧ θ ≤ ───
3            3 

(3)
⎛            π⎞   ⎛        π    ⎞
⎜0 ≤ θ ∧ θ ≤ ─⎟ ∨ ⎜θ ≤ π ∧ ─ < θ⎟
⎝            4⎠   ⎝        2    ⎠

参考文献 (数式を参考)

関連過去記事

py3math.hatenablog.com