|
|
  |
Экстремум функции двух переменных. |
|
|
|
Mar 26 2014, 05:49
|
Знающий
   
Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059

|
Дана функция двух переменных f(x,y). Известны значения f(x,y) вблизи экстремума. Как найти значение x,y при котором функции f(x,y) имеет экстремум ? Пример: Функция f(x,y) вблизи экстремума принимает значения, запишем их в виде матрицы 3х3 CODE | 1 , 1 , 1 | F = | 1 , 3, 2 | | 1, 1, 1.5 | Т.е эктремум функции будет примерно при x=2.2 , y = 2.1 . Как это вычислить точно?
|
|
|
|
Guest_TSerg_*
|
Mar 26 2014, 06:07
|
Guests

|
Если сам, то методы: координатного спуска, градиентный, наискорейшего спуска, метод сопряженных градиентов и т.д. Если не сам, то в матлаб fminsearch(..)
|
|
|
|
Guest_TSerg_*
|
Mar 26 2014, 08:51
|
Guests

|
Так написал же выше.. Еще симплекс-метод и еще куча. Цитата(Костян @ Mar 26 2014, 12:21)  И эксремум мне необходим в максимуме функции. Странно , но в матлабе нету fmaxsearch()/ имя функции берется с минусом - будет максимум.
|
|
|
|
|
Mar 26 2014, 10:18
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Может быть аппроксимировать функцию возле вершины двумерной параболой? По типу того, как обычной параболой аппроксимируют импульсные сигналы для более точного определения положения их вершины.
Например, уравнением F(x,y) = a*x^2 + b*y^2 + c*x + d*y + e Тут неизвестных 5 штук (a,b,c,d,e), а известных точек в открестности максимума 9. Значит, решение здесь есть, как у переопределенной системы из 9-ти уравнений с 5-ю неизвестными. А дальше каждый максимум определяется тривиально: X = -0.5*c/a Y = -0.5*d/b
|
|
|
|
|
Mar 26 2014, 10:38
|
Знающий
   
Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059

|
QUOTE (Xenia @ Mar 26 2014, 09:18)  Может быть аппроксимировать функцию возле вершины двумерной параболой? Да, я думал про апроксимацию параболой. Желательно оптимальный алгоритм для реализации в ПЛИС найти.
|
|
|
|
|
Mar 26 2014, 10:52
|

Гуру
     
Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237

|
Цитата(Костян @ Mar 26 2014, 14:38)  Да, я думал про апроксимацию параболой. Желательно оптимальный алгоритм для реализации в ПЛИС найти. А чем этот вариант плох для ПЛИС? Если начало координат установить в центральную точку (центральная из 9-ти), то левая часть системы уравнений будет всегда одинаковой. Ее можно (псевдо)инвертировать вручную (МатЛабом), а на долю ПЛИС останется только работа множить эту матрицу на реальные значения функции в 9-ти точках. Это даже без матричных операций можно запрограммировать. После умножения получатся коэффициенты (a,b,c,d,e), причем на вычислении последнего можно сэкономить, т.к. для дальнейшего расчета координат он не нужен. Т.е. потребуется 36 (9х4) умножений и столько же сложений. Координаты получатся виде смещения от центральной точки (там еще 2 умножения и 2 деления). Но если ваша ПЛИС умножать, складывать и делить (иные операции здесь не требуются) не умеет, то тогда я пас.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|