我有一個python程序,它接受一堆值並計算粒子的自旋作爲輸出。該程序不是一個功能,所以沒有輸入。我被告知要單獨優化三個不同的值(只改變一個值,而另一個值不變),以產生該粒子自旋的y分量的優化輸出。我認爲我需要做的事情是將這個程序變成一個函數,我希望優化的值是輸入。然後我想我需要創建一個新函數來遍歷輸入的所有可能值以產生我想要的輸出。例如,我需要優化偶極磁鐵的長度。在現實生活中,旋轉的y分量應該爲-1,但我需要精確到小數點後10位(-.9999999999)。如何優化偶極磁鐵長度的值以使y-旋轉的值精確到小數點後10位?如何優化我的python程序的輸出
0
A
回答
1
如果我是正確的,你計算S [1],S [2]和S [3]是否正確?試着讓你得到像重寫代碼:
def getSpin(L1,L2,d):
...all your calculations will be done here..
# return the value of S[2] minus the goal value, optimization can find 0
return S[2]-1.0
爲了優化結果,使用scipy.optimize
-package和S上評價[2]。爲此,請確保您的機器上安裝了scipy。下面的代碼是我的第一個建議,因此尚未經過測試/調試,所以請查看documentation of the solver。在這個代碼中x0和邊界需要填入。如果你將某個參數的最小值和最大值設置爲相等,那麼解算器將把該參數固定爲該值,並且只改變其他參數。
from scipy.optimize import minimize
x0=(0.203, 5.653, 0.189089089089089) # your initial guess
bounds=((l1min,l1max),(l2min,l2max),(dmin,dmax)) # the minimum and maximum values for each parameter
res=minimize(getSpin,x0,method=‘SLSQP’,args=(),bounds=bounds,tol:1e-10)
#res.x contains the optimized values for L1,L2 and d
+0
非常感謝! – Spencer 2014-11-02 23:16:51
+0
沒問題。如果答案有效,請接受它,以便其他人知道這是一個可行的解決方案。 – tvandenbrande 2014-11-03 07:53:55
相關問題
- 1. 如何優化我的程序?
- 2. 輸入輸出的優化
- 3. 如何使用cachegrind輸出來優化應用程序
- 4. 如何格式化此Python程序的輸出?
- 5. 如何簡化我的Python程序?
- 6. 優化Gnuplot的SVG輸出
- 7. Python/PHP Tesseract輸出優化技巧
- 8. 從python字典優化輸出
- 9. Python csv:優化標題輸出
- 10. python優化的程序控制?
- 11. 提示優化Python的過濾程序
- 12. 優化sql輸出
- 13. 優化CIL輸出
- 14. 優化我的Python刮刀
- 15. 如何優化我的存儲過程?
- 16. 如何優化GraphViz輸出寬度?
- 17. 如何優化下面的子程序?
- 18. 如何將python程序的輸出傳遞到處理程序
- 19. 如何優化我的Java應用程序中的代碼
- 20. 如何加速/優化我的程序中的文件寫入
- 21. 如何優化我的AngularDart應用程序的js大小?
- 22. 優化我的遊戲應用程序
- 23. 如何優化LAMP網絡應用程序的導出功能?
- 24. 如何優化(最小化)機器學習模型的輸出?
- 25. 如何優化我的JavaScript?
- 26. 我無法優化並行化程序
- 27. Python中的MemoryError:我如何優化我的代碼?
- 28. 如何在我的Sencha Touch應用程序中優化內存?
- 29. 如何爲Chromebook優化我的應用程序
- 30. 我們如何優化CPU綁定的Java應用程序?
你可以提供一些關於你的代碼的更多信息嗎?它是一個線性腳本嗎?如果是這樣,你可以很快將它變成一個功能。如果你有這個功能,你可以看看'scipy.optimize'找到最佳的scipy.optimize:http://docs.scipy.org/doc/scipy-0.14.0/reference/optimize.html – tvandenbrande 2014-11-02 21:36:00
@tvandenbrande I對不起,我真的不是很熟悉編程,所以我不知道它是否是線性腳本。那是什麼意思? – Spencer 2014-11-02 21:57:27
你在python中使用類嗎?如果沒有,那麼你可能使用線性腳本。你可以把你的代碼放在這裏,以便我們看看它嗎? – tvandenbrande 2014-11-02 21:58:47