Целочисленные шаги в scipy optimize.minimize - PullRequest
0 голосов
/ 20 января 2020

У меня проблема с минимизацией функции с помощью scipy, и я думаю, что это потому, что увеличение только целых чисел имеет значение, и, вероятно, оно не ищет достаточно, чтобы достичь следующего целого числа. Это код:

def Rsec(i):
  x=0
  CC=HHy[mid]+HVy[mid]+VHy[mid]+VVy[mid]
  QBER_numerator=(HVy[mid]+VHy[mid])
  for x in range (int(i)):
    CC=CC+HHy[mid+x]+HHy[mid-x]+HVy[mid+x]+HVy[mid-x]+VHy[mid+x]+VHy[mid-x]+VVy[mid+x]+VVy[mid-x]
    QBER_numerator=(HVy[mid+x]+HVy[mid-x]+VHy[mid+x]+VHy[mid-x])
  QBER=QBER_numerator/CC
  return CC*(1-2*H2(QBER))
minimize(lambda x: -Rsec(x), 180)

, так как мне нужно прокрутить массив, я поместил int (i), который, как мне кажется, вызывает проблему. Знак минус в минимизации, потому что я ищу максимум. Вы можете помочь мне? Спасибо!

...