2010-12-10 71 views
0

I`ve有2個變量:NumPy的求解:最大值

結果

我怎麼會告訴numpy的解算器(我認爲這就是我將不得不使用)返回期間價值,這給我最高結果?期限必須在1到100之間。

編輯:

眼下 14,給我一個結果的40期間 at 12。給我一個結果 of 42。

我可以告訴numpy嘗試每個期間值介於1和100之間,結果只有最好的結果?

我想我真的不需要Numpy,我想知道它是否可以成爲一種方式。

+0

你在說什麼?你想知道一個數字的價值爲另一個數字產生的最高價值。如果你已經有兩個號碼,那麼根本沒有問題。如果其中一個是從另一個計算的 - **公式是什麼**? – 2010-12-10 05:07:25

+0

抱歉,編輯該問題更加精確。 – 2010-12-10 05:13:29

回答

1

只需要聲明一個變量等於第一週期值,然後做自己的循環,改變初始變量隨時當前數量較大:

biggest = period(0) 
index = 0 

for i in range (1, 100) 
    if period(i) > biggest 
     biggest = period(i) 
     index = i 

return biggest 
0

我不能肯定我明白的問題,但如果當時我NumPy的索引可能是最好的:

period = NP.arange(50) 
result = NP.random.randint(1, 101, 50) 

q = NP.argmax(result) # gives index of largest value in the result array 
result[q]    # returns the highest value in the result array 
period[q]    # returns the value of period corresponding to 
         # the highest value for result   
0

目前尚不清楚,你有什麼樣的數據,但這應該工作:

for period in periods: 
    result = func(period) 
    if result > resultmax: 
     resultmax = result 

,或者如果resultsnumpy.array這樣results[period]period結果,後來乾脆

periodmax = results.argmax()