1
我想寫一個Mathematica函數,它將一個表達式作爲參數,採用該表達式的派生,然後對錶達式做一些操作。所以(如玩具爲例)我想寫函數中的導數
F[f_] = D[f, x] * 2
使
F[x^2] = 4x
相反,我得到
F[x^2] = 0
有人能指出我相關的文檔?我花了一些時間來討論Mathematica的參考資料,但沒有發現任何有用的信息。
我想寫一個Mathematica函數,它將一個表達式作爲參數,採用該表達式的派生,然後對錶達式做一些操作。所以(如玩具爲例)我想寫函數中的導數
F[f_] = D[f, x] * 2
使
F[x^2] = 4x
相反,我得到
F[x^2] = 0
有人能指出我相關的文檔?我花了一些時間來討論Mathematica的參考資料,但沒有發現任何有用的信息。
當您的意思是使用延遲分配:=
時,您已使用分配=
。當您使用(未延遲)賦值評估F[f_]=D[f,x]*2
時,Mathematica查看D[f,x]
並看到f
(未分配的符號)不依賴於x
;因此,它的導數爲0.因此,對於F
的任何參數,這是它稍後返回的參數F[f_]=0
。
如果你想F
到您所指定後才f_
應該是什麼進行評估,則需要通過與:=
更換=
使用延遲分配。
啊哈!所以:=正是我想要的;我不明白這個區別。謝謝! – 2013-02-15 23:06:23