[英]Find x where y is minimum
我有一個(-2,2) 范圍內的多項式。 我可以通過迭代x=0.1輕松找到 min y 值。 但我也想找到對應的 x 值,其中 y 最小。 (不使用任何額外的庫)
假設 y=x**2+3*x+5。 我想在范圍(-2,2)中找到 min(y),並且還想找到給出 min(y)的 x。
def f(x):
return x**2+3*x+5
y=[]
x=[i/10 for i in range(-20,20)]
for x in x:
y_values.append(f1(x))
#min(y) find also minimum of y but I want to find it with long way.
minimum1=y_values[0]
for n in y_values:
if minimum1>n:
minimum1=n
由於元組按第一項排序,然后是第二項,依此類推,您可以將輸出(y, x)
元組的生成器表達式傳遞給min
function:
min((f(x), x) for x in (i / 10 for i in range(-20, 20)))
這將返回:
(2.75, -1.5)
也許只是在您調用 function 的同時進行比較?
def f(x):
return x**2+3*x+5
y=[]
x=[i/10 for i in range(-20,20)]
ymin = f1(x[0])
xmin = x[0]
for x in x:
if(f1(x)<y):
ymin = f1(x)
xmin = x
y_values.append(f1(x))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.