Поиск экстремумов двумерной дискретной функции

Форум пользователей пакета Mathcad

Модератор: Admin

Variag
Сообщения: 16
Зарегистрирован: Чт ноя 06, 2008 3:24 pm
Контактная информация:

Поиск экстремумов двумерной дискретной функции

Сообщение Variag » Пн сен 10, 2012 3:10 pm

Здравствуйте!
Я думаю, не я первый столкнулся с такой задачей и для нее должно быть хотя бы приблизительное решение. К сожалению, сам я раньше с такой задачей не сталкивался, потому буду признателен за помощь.
У меня есть двумерная матрица определенного размера. В этой матрице требуется найти все максимумы (как абсолютный, так и локальные), и их координаты, по возможности, не используя встроенныее функции Mathcad. Собственно, все...
Буду премного благодарен за помощь.

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Вт сен 11, 2012 12:53 pm

Поле.
Время уборки урожая.
Пригоняют комбайн.
Нужно научить нового работника уборке урожая на комбайне.
Работнику ставится задача: Для того чтобы научиться работать на комбайне для уборки урожая уберите урожай без комбайна.
Работа закипела.

Korobov V I
Сообщения: 1609
Зарегистрирован: Вт янв 21, 2003 5:12 pm

Сообщение Korobov V I » Вт сен 11, 2012 2:17 pm

uni писал(а):Поле.
Время уборки урожая.
Пригоняют комбайн.
Нужно научить нового работника уборке урожая на комбайне.
Работнику ставится задача: Для того чтобы научиться работать на комбайне для уборки урожая уберите урожай без комбайна.
Работа закипела.

Меня тоже всегда умиляет: "Выполните задание в Mathcad, не используя встроенных функций Mathcad".

Variag
Сообщения: 16
Зарегистрирован: Чт ноя 06, 2008 3:24 pm
Контактная информация:

Сообщение Variag » Вт сен 11, 2012 2:46 pm

Все посмеялись и повозмущались?
Хорошо.
А теперь серьезно. Может я неточно вразился, но понять, при желании, думаю, не сложно.
Мне бы хотелось узнать последовательный алгоритм действий а не название функции в Mathcad, которая все вышеописанное сделает в одну строчку. Естественно, вполне нормально использование базовой библиотеки функций, вроде арифметических операций, сравнения, сдвига и пр.
Или вы, люди, наверняка с высшим образованием, а то и с учеными степенями, считаете что компьютер все делает волшебным образом сам, достаточно только назвать правильную функцию? Ни за что не поверю что здесь обитаются недоучки.
В задачах анализа неприрывных функций, существуют разного рода градиентные методы и иже с ними, их принципы действия широко известны. Я и хотел от вас услышать нечто подобное только для дискретных функций.
В конце концов, можно было просто ткнуть меня носом в подходящую статью или указать название метода, если уж было лень отвечать развернуто. Мне бы и это подошло, да и несколько покультурнее было бы...

VFO
Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Re: Поиск экстремумов двумерной дискретной функции

Сообщение VFO » Чт сен 13, 2012 3:52 am

Variag писал(а):Здравствуйте!
Я думаю, не я первый столкнулся с такой задачей и для нее должно быть хотя бы приблизительное решение. К сожалению, сам я раньше с такой задачей не сталкивался, потому буду признателен за помощь.
У меня есть двумерная матрица определенного размера. В этой матрице требуется найти все максимумы (как абсолютный, так и локальные), и их координаты, по возможности, не используя встроенныее функции Mathcad. Собственно, все...
Буду премного благодарен за помощь.

Чтобы смоделировать встроенную в Mathcad функцию max (min), нужно в двух циклах for (по столбам и строкам) перебрать все элементы матрицы и запомнить максимальное или минимальное значение. Также можно смоделироть и функцию match.

VFO
Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Re: Поиск экстремумов двумерной дискретной функции

Сообщение VFO » Чт сен 13, 2012 3:53 am

Variag писал(а):Здравствуйте!
Я думаю, не я первый столкнулся с такой задачей и для нее должно быть хотя бы приблизительное решение. К сожалению, сам я раньше с такой задачей не сталкивался, потому буду признателен за помощь.
У меня есть двумерная матрица определенного размера. В этой матрице требуется найти все максимумы (как абсолютный, так и локальные), и их координаты, по возможности, не используя встроенныее функции Mathcad. Собственно, все...
Буду премного благодарен за помощь.

А что такое локальный максимум?
Это когда все соседи элемента меньше самого элемента?

Variag
Сообщения: 16
Зарегистрирован: Чт ноя 06, 2008 3:24 pm
Контактная информация:

Сообщение Variag » Чт сен 13, 2012 7:54 am

Спасибо, но функция max в сочетании с match даст мне один глобальный (самый большой) максимум. Мне же надо найти не один, а все пики двумерной функции, вроде как таковые называются локальными максимумами. Да, получается, что все соседи должны быть меньше самого элемента.

VFO
Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Сообщение VFO » Чт сен 13, 2012 8:40 am

Variag писал(а):Спасибо, но функция max в сочетании с match даст мне один глобальный (самый большой) максимум. Мне же надо найти не один, а все пики двумерной функции, вроде как таковые называются локальными максимумами. Да, получается, что все соседи должны быть меньше самого элемента.

Так у вас функция или матрица!?

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Чт сен 13, 2012 6:02 pm

Можно было бы и матрицу эту привести для конкретики.

Variag
Сообщения: 16
Зарегистрирован: Чт ноя 06, 2008 3:24 pm
Контактная информация:

Сообщение Variag » Чт сен 13, 2012 10:35 pm

Так у вас функция или матрица!?

Ну правильнее всего это назвать дискретизированной функцией. В неприрывном варианте она гладкая и достаточно медленно-меняющаяся, носит импульсный характер.

VFO
Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Сообщение VFO » Сб сен 15, 2012 7:23 pm

Variag писал(а):Спасибо, но функция max в сочетании с match даст мне один глобальный (самый большой) максимум. Мне же надо найти не один, а все пики двумерной функции, вроде как таковые называются локальными максимумами. Да, получается, что все соседи должны быть меньше самого элемента.

А какой у вас размер матрицы?