gpt4 book ai didi

Python:通过循环最小化函数

转载 作者:行者123 更新时间:2023-12-01 03:28:07 29 4
gpt4 key购买 nike

我的代码非常简单:

import numpy

def f(x):
return x**2 +1

f_min=10

for x in numpy.arange(-1,10,0.1):
if f(x)<f_min :
f_min=f(x)
x_min=x
else:
print (x_min)

它给了我正确的结果(x-->0),但不仅是一次,而是很多次。这是为什么?我怎样才能阻止它这样做?

最佳答案

因为是你告诉它的。 :-)

您的 if 语句如下:

if I have a new minimum, record the value and position;
otherwise, print the existing minimum.

只要找不到新的最小值,就打印。由于此函数在您的范围内较早具有最小值,因此您会获得大量输出。

如果您希望全局最小值仅打印一次,则只需执行一次:将其移到循环之外。

for x in numpy.arange(-1,10,0.1):
if f(x)<f_min :
f_min=f(x)
x_min=x

print (x_min)

关于Python:通过循环最小化函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41231308/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com