次のコードの答えがなぜ 10 ではなく 10 なのか、私は困惑してlambdify
います。
import sympy
from sympy.utilities.lambdify import lambdify
from sympy import Function
from sympy.abc import x, y
def kFct(xIndex,loc,k1,k2):
... if xIndex <= loc:
... return k1
... else:
... return k2
...
loc = 0.5
k1 = 1
k2 = 10
kfun = lambdify( (x,y), kFct(x,loc,k1,k2) )
print kfun(0,0)
>>> 10
が より小さいのに、答えがk1
1 でないのはなぜですか?x = 0
loc = 0.5
ただし、そうすると正しい答えが返されます
print kfct(0,loc,k1,k2)
>>> 1
kfun
後で積分の引数の一部として使用するため、x と y の関数として持つ必要があります。また、最終的には y に依存します。
Mac 10.6.xでpython 2.6.8を使用しています。