[英]Unexpected promotion to 'complex' type in Python math expression
在實現數值優化算法的過程中,我在Python中遇到了一些相當奇怪的行為:在對函數域的某些值應用Six-hump cambel back函數后 ,一些結果會評估為“復雜”數字。
評估數字的代碼非常簡單:
def f(x1, x2):
return ((4 - 2.1 * x1 ** 2 + x1 ** (4 / 3)) * x1 ** 2 + x1 * x2 +
(-4 + 4 * x2 ** 2) * x2 ** 2)
以下是上述函數返回復數的一些數字:
x1 x2 Result
-1.30423635697717 -1.750915750915751 27.13078459548355-2.099189473463638j
-0.28677817116347226 0.3413919413919415 -0.20277691810793963-0.013469483248785653j
-1.105725796606031 -0.5816849816849816 0.8001125335594826-1.2106597512385535j
以及上述函數返回正常float的一些數字:
x1 x2 Result
1 2 52.9
1.4 -2 48.04232245707135
為什么會發生這種情況,我該怎么做才能解決這個問題?
代碼在Python 3.3.2下運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.