我想在python中創建一個函數,它會將一堆數學術語加在一起,其中包括一些任意變量名稱, 。因此,例如用'虛擬'變量創建數學函數以便稍後進行評估
def transform(terms, xterm):
function=.5
step=terms
odd=1
while step>0:
function+=(2/odd*np.pi)*np.sin(odd*np.pi*xterm)
odd+=2
step-=1
return function
test=transform(10,somexvariable)
print test
這是一個傅里葉級數的特殊功能,我在我的機械師類的事情。
基本上我想,對於條件(比如5),創建一個變量,看起來像這樣的量:
function = .5 + (2/odd*np.pi)*np.sin(odd*np.pi*xvariable) +.......
出來然而,許多方面,我想在這裏變量「奇」是唯一的號碼這種變化。
的密鑰和困難這一問題被插入一些虛擬變量我稱爲「xvariable」以便以後我可以創建這樣的陣列:
x2 = np.arange(0,10,.05)
y = transform(2,x2)
其結果將是那些x值的陣列在用'transform'創建的函數中進行評估。
我確信我正在以這種錯誤的方式進行......但我似乎無法弄清楚完成這項工作所需的步驟順序。
請幫忙。謝謝!
也許['numpy.vectorize()'](http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.vectorize.html)是你在找什麼對於? – fjarri
''.5''是一個字符串。 「0.5」是一個浮點數字。 –
你是對的......'.5'是我嘗試不同方法的一件神器......只是忘了把報價關掉。 –