簡體   English   中英

找到 y 最小的 x

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM