2010-12-10 4 views
0

I`ve получил 2 переменные:Numpy решатель: максимальное значение

период и результат

Как бы я сказать решатель Numpy (я предполагаю, что это то, что я должен был бы использовать), чтобы вернуться значение периода, что дает мне наивысший результат? Период должен быть от 1 до 100.

Edit:

Сейчас период на 14, дает мне результат 40. период в 12. дает мне результат из 42.

Могу ли я сказать numpy попробовать каждые период значение от 1 до 100 и результат только с лучшим результатом?

Думаю, мне на самом деле не нужна цифра для этого, мне было интересно, может ли это быть способ пойти.

+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 

или, если results является numpy.array таким образом, что results[period] является результатом period, а затем просто

periodmax = results.argmax() 
Смежные вопросы