-3
我只是想抓住scipy.optimize.curve_fit函數拋出的ValuError,但我意識到它不被認爲是一個有效的異常。scipy.optimize曲線擬合
這裏是我的代碼:
from scipy.optimize import curve_fit
ksi=((185/((xdata_1/420)**2 + (420/xdata_1)**2 + 90)) + (27/((xdata_1/800)**4 + (800/xdata_1)**4 + 5.50)) + (0.005/((xdata_1/2200)**2 + (2200/xdata_1)**2 - 1.95)) + (0.012/((xdata_1/180000)**2 + (180000/xdata_1)**2 -1.8))+ (0.01/((xdata_1/97000)**2 + (97000/xdata_1)**2 -1.95)) + (0.03/((xdata_1/250000)**2 + (250000/xdata_1)**2)) )
def power(xdata_1,cc,dd,gg):
global ksi
return cc*(xdata_1**(dd))*(10**(-1.572*gg*(ksi)))
這是一個完整的警告,我得到:
ValueError異常:操作數無法與形狀(455)一起廣播(1772)
我該如何解決這個問題?
如果問題出現在scipy curve_fit中,你能發表一個包含代碼部分的例子嗎? – Chris
不清楚你在問什麼。 「我只是想抓住一個ValuError」,但是在你的代碼中沒有任何事情,「這是我得到的完整警告:ValueError ...」這是一個警告還是錯誤?哪一行代碼觸發它? 「我如何解決這個問題?」究竟是什麼問題? – Goyo
考慮到ksi只取決於xdata_1,我不認爲有必要使用全局的方式來渾水。至於你的警告,cc,dd,gg或xdata_1或ksi之一的長度與其他長度不同,所以你的電源功能會在廣播中遇到麻煩。 –