このコードは正しく実行されます:
import sympy as sp
def xon (ton, t):
return (t-ton)/5
xonInt = sp.integrate (xon(ton, t),t)
print xonInt
しかし、関数が区分的になると、例えば:
import sympy as sp
def xon (ton, t):
if ton <= t:
return (t-ton)/5
else:
return 0
xonInt = sp.integrate (xon(ton, t),t)
print xonInt
次のエラーが表示されます。
ファイル "//anaconda/lib/python2.7/site-packages/sympy/core/relational.py"、行 > 103、ゼロ以外で TypeError("\n%s の真値を判別できません" % self)
TypeError: ton <= t の真理値を特定できません
私が理解している限り、エラーは と の両方が正と負になる可能性があるという事実によるものton
ですt
。それが正しいか?正の積分限界を設定してt
も、エラーは消えません。指定された区分関数の積分を計算するにはどうすればよいですか?
更新:機能する関数の更新バージョン:
import sympy as sp
t = sp.symbols('t')
ton = sp.symbols('ton')
xon = sp.Piecewise((((t-ton)/5), t <= ton), (0, True))
xonInt = sp.integrate (xon,t)
print xonInt