背景:
專注于為中小企業(yè)提供網(wǎng)站制作、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)臨川免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。實現(xiàn)用python的optimize庫的fsolve對非線性方程組進(jìn)行求解??梢钥吹竭@一個問題實際上還是一個優(yōu)化問題,也可以用之前擬合函數(shù)的leastsq求解。下面用這兩個方法進(jìn)行對比:
代碼:
from scipy.optimize import fsolve,leastsq from math import sin,cos def f(x): x0 = float(x[0]) x1 = float(x[1]) x2 = float(x[2]) return [ 5*x1+3, 4*x0*x0 - 2*sin(x1*x2), x1*x2-1.5 ] x0 = [1,1,1] result = fsolve(f,x0) print("===================") print() print("求解函數(shù)名稱:",fsolve.__name__) print("解:",result) print("各向量值:",f(result)) #擬合函數(shù)來求解 h = leastsq(f,x0) print("===================") print() print("求解函數(shù)名稱:",leastsq.__name__) print("解:",h[0]) print("各向量的值:",f(h[0]))