Я все еще очень плохо знаком с питоном и программированием и пытаюсь понять, правильно ли я решаю эту проблему.Я склонен использовать подход matlab к вещам, но здесь я просто изо всех сил ...
Контекст: у меня есть два пустых массива, нанесенных в это изображение на flickr , так как я не могу опубликоватьфотографии здесь :(. Они имеют свойства одинаковой длины (оба 777x1600), и я пытаюсь использовать красный массив, чтобы помочь вернуть индекс (значение на оси X графика) и значение элемента (ось Y)точка на голубом графике, обозначенная стрелкой для каждой строки синего массива.
Передо мной была поставлена задача: а) определить максимальное значение красного массива (обозначенного красной точкой на рисунке иуже выполнено)
и b) начать с конца синего массива с последним элементом и считать в обратном порядке, сравнивая элемент с предыдущим элементом.Цель состоит в том, чтобы определить, где уменьшается предыдущее значение.(например, когда элемент -1 больше элемента -2, указывает на последний пик на изображении).Кроме того, чтобы предотвратить выбор «шума» в конце раздела с повышенными значениями, мне также нужно ограничить выбранное значение большим, чем максимум красного массива.
Вот что я получилпока, но я застрял на второй строке, где мне нужно оценить выбранную строку массива от позиции (-1) в строке до начала или (0) позиции:
for i,n in enumerate(blue): #select each row of blue in turn to analyze
for j,m in enumerate(n): #select each element of blue ??how do I start from the end of array and work backwards??
if m > m-1 and m > max_val_red[i]:
indx_m[i] = j
val_m[i] = m