2016-09-21 11 views
2

PyChars Community Edition 2016.2.3 + AnacondaディストリビューションでPython 2.7を使用する。出力はcos(25)あるsympyでの三角関数式の評価

from sympy import * 

x = symbols('x') 
f = cos(x) 
print (f.subs(x, 25)) 

私は次のように入力を有しています。特定の角度でsin/cosなどの三角関数のアイデンティティを評価する方法はありますか?私はcos(degrees(x))を試しましたが、何も違いはありません。私はドキュメンテーションの重要な部分を欠いているか、実際にこれを行う方法はありませんか?あなたの助けのためのTy :)

答えて

3

function Nを使用して数値評価実行します。

>>> from sympy import N, symbols, cos 
>>> x = symbols('x') 
>>> f = cos(x) 
>>> f.subs(x, 25) 
cos(25) 
>>> N(f.subs(x, 25)) # evaluate after substitution 
0.991202811863474 

mpmath.radiansを使用して、ラジアンに角度を変える度単位で計算を行うためには、その計算は上で実行されますラジアン値:Impor

>>> import mpmath 
>>> f.subs(x, mpmath.radians(25)) 
0.906307787036650 

*(ワイルドカードのインポート)を使用するのは良い考えではありません。 from math import *を同じように実行した場合、両方のモジュールのcos関数のうちの1つが野生に出てしまうとどうなるか想像してみてください。

PEP 8 guideline on importsを参照してください。

+0

あなたは正しいですが、適切な輸入についてはちょっとスキップしました。これは簡単な方法でした。度の値に基づいて式を評価する方法があるかどうか知っていますか? – borgmater

+0

@borgmaterは答えを –

+0

に変更しました。あなたは 'mpmath'のインポートをミスタイプしました。結局、私はこれを 'mpmath import *'のようにインポートしましたが、それでもなお度で評価する方法を見つけることはできません。また、評価 'N(fs(x、25))'は、ラジアンも度も対応しない値を返します。 – borgmater