背景:
實現(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]))