Python3 コード
complex_coefficient1.py
#!/usr/bin/env python3 """(docstring) """ import sympy as sym class MathProblem: """(docstring) """ @staticmethod def print_math_problem(): """(docstring) """ print('複素係数の 2 次方程式を解け。\n') class ComplexCoefficient1: """(dostring) """ def __init__(self, expr): """(docstring) """ self.__expr = expr def complex_coefficient_func1(self): """(docstring) """ x = sym.Symbol('x') # 方程式 の答え ans = sym.solve(self.__expr, x) return ans if __name__ == '__main__': MathProblem.print_math_problem() print('-'*79) x = sym.Symbol('x') # 複素数: 虚数: SymPy の I を使用。 expressions = [2*x**2 - (5+sym.I)*x + 3 - sym.I, (1+sym.I)*x**2 + 2*(1-sym.I)*x - (1+sym.I)] idx = range(1, len(expressions)+1) for i, expr in zip(idx, expressions): print('({0}).\n'.format(i)) sym.pprint(sym.Eq(expr, 0)) print('\nx =\n') CC1 = ComplexCoefficient1(expr) CC1_cc_func1 = CC1.complex_coefficient_func1() sym.pprint(CC1_cc_func1) print('') print('-'*79)
出力
$ python3 complex_coefficient1.py 複素係数の 2 次方程式を解け。 ------------------------------------------------------------------------------- (1). 2 2⋅x - x⋅(5 + ⅈ) + 3 - ⅈ = 0 x = ⎡1 ⅈ ⎤ ⎢─ - ─, 2 + ⅈ⎥ ⎣2 2 ⎦ ------------------------------------------------------------------------------- (2). 2 x ⋅(1 + ⅈ) + x⋅(2 - 2⋅ⅈ) - 1 - ⅈ = 0 x = [ⅈ] -------------------------------------------------------------------------------
参考文献 (数式を参考)
- 作者: 樋口 禎一,森田 康夫
- 出版社/メーカー: 旺文社
- 発売日: 2012/01/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る