Выделение max, min, среднего значение на графике XY Graf

Обсуждение вопросов, связанных с обработкой аудио и видео информации
Ответить
Колега
advanced
advanced
Сообщения: 195
Зарегистрирован: 21 фев 2011, 10:31
Версия LabVIEW: 2009
Контактная информация:

Выделение max, min, среднего значение на графике XY Graf

Сообщение Колега »

Добрый день коллеги. Стоит вот такая задача. Из построенного графика и массива с этими данными надо выделить: Максимальное значение Силы в начале пути вверх Fmax Вв нач (левая часть графика по пути сверху вниз), далее Макс значение в начале пути вниз - Fmax Вн нач, Макс значение в конце пути в низ - Fmax Вн кон, затем проигнорировав экстремумы пути в низ рассчитываем среднее, макс и мин значения на участке равномерного пути вниз (выделено пунктиром).
Как брать по простому макс, мин и ср из массива я уже знаю, простой пример приводится в книге "Лабвью для всех", но мне не достаточно брать эти значения из всего массива 0-N, т.к. максимумы могут быть как в начале так и в конце, и даже в серединке.

но вот как именно выделить макс в начале пути т.е. первые 0-n значений массива N, или как выделить в конце массива что бы понять что максимум имеет место именно в конце пути вниз.

Задать тупо примерно скажем первые тридцать значений заведомо зная что в этом пределе будем максимум нельзя, т.к. у меня будут разные образцы, есть длиной на 60мм как в примере, а есть на 10мм и заранее неизвестен диапазон, в котором возникнет максимум.

Это надо делать последовательно выборку из массива пути вверх, анализировать на больше меньше предыдущих значений (или что-то в этом роде) и как только становится ясно что пошел перегиб с запасом фиксировать максимальное значение этого перегиба. Потом так же обрабатывать второй массив пути вниз, так же понять что был начальных максимум, конечный, и отбросив с запасом эти максимумы посчитать среднее, макс и мин значения уже без перегибов.

Совсем не жду примеров и фрагментов программы, но хотя бы словесно кто-нибудь подробно посоветует что-то? :think:
Вложения
тест5 с осл в верхн точк_график.GIF
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Выделение max, min, среднего значение на графике XY Graf

Сообщение FireFly »

Можно воспользоваться инструментом Peak Detector. Побалуйтесь с параметрами и он найдет вам все пики, необходимого уровня. Дальше просто выбирайте какие вам нужны.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
IORIK
adviser
adviser
Сообщения: 240
Зарегистрирован: 14 дек 2010, 20:46
Версия LabVIEW: 7.0; 8.2

Re: Выделение max, min, среднего значение на графике XY Graf

Сообщение IORIK »

а также можете взять первую производную, она в экстремуме в ноль обращается.

если у вас достаточно четкий максимум (не зашумленный), можно воспользоваться простым способом:

если X(i-1)<X(i)>X(i+1) & X(i-2)<X(i-1) & X(i+1)>X(i+2) то X(i) - это максимум
Колега
advanced
advanced
Сообщения: 195
Зарегистрирован: 21 фев 2011, 10:31
Версия LabVIEW: 2009
Контактная информация:

Re: Выделение max, min, среднего значение на графике XY Graf

Сообщение Колега »

Спасибо, все это гляну, но хочу еще раз заострить внимание на том что, не пики сами определить надо, а первый в начале (в моём ксперименте это отрыв), т.к. еще будут пики не всем пути и может даже бОльшие чем первый (отрыв). Тут надо местоположение близкое к началу еще анализировать.
Колега
advanced
advanced
Сообщения: 195
Зарегистрирован: 21 фев 2011, 10:31
Версия LabVIEW: 2009
Контактная информация:

Re: Выделение max, min, среднего значение на графике XY Graf

Сообщение Колега »

Поделюсь. Покавырялся с Peak Detector. Вроде ловит он что-то близко, но почему-то ни разу его Пик не совпал с максимальным значением функцией Array Max & Min, как-то ожидал что должно совпасть, если делать минимальную ширину Peak Detector (=3) то он там этих пиков набирает целую кучу, а если загрубить его, то значение пика далеко от истины... :think:
Ну как бы не пришлось ручками набивать все без заготовок типа

quote IORIK
если X(i-1)<X(i)>X(i+1) & X(i-2)<X(i-1) & X(i+1)>X(i+2) то X(i) - это максимум
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Работа с графикой и звуком»