2015-12-17 85 views
2
def getMaxDeflection(self): 
    def func(x): return self.getTotalDeflection(x) 
    a = s.fmin(lambda x: -func(x), 0) 
    return a 

這將返回開箱值

>>> b.getMaxDeflection() 
Optimization terminated successfully. 
Current function value: -0.004343 
Iterations: 28 
Function evaluations: 56 
Out[161]: array([ 2.7473125]) 

正如你可以看到我最終的-0.004343當前功能價值和2.7473陣列輸出。我想最後得到一個(0.004343,2.7473)的元組,但我不太確定如何去做。謝謝:)

回答

1

望着source codedocumentation,你需要做到以下幾點:

def getMaxDeflection(self): 
    a = s.fmin(lambda x: -self.getTotalDeflection(x), 0, full_output=1) 
    return a[1], a[0][0] 

值如果full_output設置爲True fopt, iter, funcalls, warnflag將只被添加到輸出。此外,如果設置了disp=0,則還會阻止打印融合消息。

+0

Sorted。非常感謝 :) – jajabinks