用Python编译函数在区间内的最小值

用Python编译函数在区间内的最小值,希望能够多点解释,谢谢啦

img


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