三角関数の度数を使用するデータがあります。三角法が使用されているかどうかを調べ、シンボル変数を追跡する
私はsympyを使用し、三角関数にはラジアンを使用するので、度を変換して使用できるようにしたい。
しかし、どのシンボル変数が三角関数の入力として使用されたのかわかりません。
だから、私のようなものを持っています:
import sympy
from sympy import mpmath
a = 2
b = 30
a,b = sympy.symbols('a b')
expr = 'sqrt(a + cos(b))'
expres = sympy.sympify(expr)
print(expres.atoms(sympy.cos))
b
は30
であり、(sympyが期待するように、cos(b)
計算で、それは、ラジアン度であってはならないこと)度です。
しかし、私が言ったように、プログラムが実行される別の時間は、三角法のための別のシンボル変数を使用します。または、複数の三角関数。
atoms
を使用すると、三角関数があるかどうかを調べることができました。そして、どういうわけか、対応する記号変数が使用されている場所であればどこでもラジアンの代わりに度を使用します。
これを行う方法はありますか?
ありがとうございます!それはうまく動作します(upvoted) – George