我有一个函数List<Integer> finalList = (2,2,2,4,2,1)
。我想知道func(x)
的{{1}}。因为没有确切的真实答案,所以我认为x
是个好主意。
func(x)-7=0
最后一个minimize
给了我from scipy.optimize import minimize
def func(x): # testing function which leads to the same behaviour
return (x * 5 + x * (1 - x) * (6-3*x) * 5)
def comp(x): # comparison function which should get zero
return abs(((func(x)) - 7))
x0 = 0.
x_real = minimize(comp, x0) # minimize comparison function to get x
print(x_real.x)
。以下print
...
[ 0.7851167]
...导致不同的输出:
print
有人可以向我解释这种行为吗?
答案 0 :(得分:0)
编辑:我认为我对您的问题理解有误。像在打印语句中那样对数字进行四舍五入显然会导致一些差异(差异很小(约1e-9
左右))。
要查找所有x,您应该应用某种全局求解方法,或者从其他初始点开始查找所有局部最小值(如图所示)。
该方程式有两个解。
def func(x): # testing function which leads to the same behaviour
return (x * 5 + x * (1 - x) * (6-3*x) * 5)
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-0.1,1,100)
plt.plot(x, func(x)-7)
plt.plot(x, np.zeros(100))
plt.show()
功能: