![](/img/trans.png)
[英]How can I use a variable that I previously defined in a loop (which is a list) for a separate function?
[英]How can I determine which variable to use for a defined function in python
我已經定義了這個功能:
def xintegral(x,k,z,xdot):
f=np.exp((x-xdot)**2*k/(2*z)*1j)
return f
我想在此過程中的func位置插入此函數:
def simpson(func,mini,maxi,N):
sum=0
h=(maxi-mini)/N
even=mini+2*h
odd=mini+h
for i in range(N//2-1):
sum+=func(even)*2
even+=2*h
for i in range(N//2):
sum+=func(odd)*4
odd+=2*h
sum=(sum+(func(mini)+func(maxi)))*h/3
return sum
我想將xdot變量用作xintegral函數。 所以我試圖這樣寫:simpson(xintegral(x,k,z,xdot),mini,maxi,N),但我希望變量是xdot。 變量奇數,最小,最大可以代替xdot嗎? 我怎樣才能做到這一點?
您可以使用部分應用程序執行此操作。 這將創建一個函數p_xintegral
,該函數將使用單個參數。 該單個參數將在xintegral
分配給xdot
,並且x
, y
和z
在執行部分應用程序時確定:
from functools import partial
p_xintegral = partial(xintegral, x, y, z)
因此,您應該能夠調用simpson(p_xintegral, mini, maxi, N)
。
我想這就是你想要的。 否則你的f不是函數
def xintegral(x,k,z,xdot):
f=lambda j:np.exp((x-xdot)**2*k/(2*z)*1j)
return f
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.