结束上一篇对matplotlib的图表描述后,接下来就看看scipy的相关应用——
利用Scipy库函数对以下方程组求解
这里我想吐槽一下,这本《机器学习及应用》人民邮电出版社的书出得真的不行,里面的内容就这对scipy的讲解讲得我一脸懵逼,怎么使用还真的不太会,看了别人对scipy求解方程组的博客才有点理解了
(附上大神的详细讲解)https://blog.csdn.net/liangzuojiayi/article/details/78218089
from numpy import mat,sin,cos
from scipy.optimize import root
import numpy as np
def f(x):
#x[0] = float(x[0])
#x[1] = float(x[1])
#x[2] = float(x[2])
eqs = []
eqs.append(sin(x[0]) + x[1]*x[1] + np.log(x[2]))
eqs.append(x[0]*x[1] - x[2]*x[2])
eqs.append(6*x[1]+8)
return eqs
def jac1(x):
#x[0] = float(x[0])
#x[1] = float(x[1])
#x[2] = float(x[2])
return mat([[cos(x[0]),2*x[1],1/x[2]],
[x[1],x[0],-2*x[2]],
[6,0,0]])
print(root(f,[0,0,0],jac=jac1).x)
理论上应该没什么问题吧,为什么求不出结果——我觉得很奇怪