用Python编译函数在区间内的最小值,希望能够多点解释,谢谢啦
import sympy
x = sympy.symbols('x')
fz = (x-2) ** 2 + 4
fz_min_x = sympy.minimum(fz, x)
print(fz_min_x)
简单易懂的方法
需要numpy库的解法的话评论告诉我
f = lambda x:(x-2)**2+4#要计算的函数
N = 10000#区间分割份数
min_value = None#初始化最小值
x0 = None#最小值的横坐标x
for i in range(N):
x = (4*i/N)-2# 4是区间[-2,2]的长度,-2是区间左端点
temp = f(x)#临时计算值
if min_value == None or temp <= min_value:#比较是否比min_value要小
min_value = temp#更新最小值
x0 = x#更新横坐标
print('x≈%f,f(x)≈%f'%(x0,min_value))#输出结果
就把x带进函数运算呗
print(min((x-2)**2+4 for x in range(-2,3)))
结果
4