реклама на сайте
подробности

 
 
> нужен алгоритм нахождения максимума, простой с апроксимацией для МК!
Make_Pic
сообщение Jun 19 2005, 06:16
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828



Имеем 4 или 5 точек прендадлежащих функции, функция непрерывная, как малой "кровью" и быстро найти максимум (предпологаем, что он должен где то быть между точками)?

Прогу надо на микроконтроллер посадить.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mikola1
сообщение Jun 21 2005, 06:31
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 25-03-05
Из: Минск
Пользователь №: 3 693



Цитата(Make_Pic @ Jun 19 2005, 09:16)
Имеем 4 или 5 точек прендадлежащих функции, функция непрерывная, как малой "кровью" и быстро найти максимум (предпологаем, что он должен где то быть между точками)?

Прогу надо на микроконтроллер посадить.
*


Не согласен с Eugeno . Задача не является самодостаточной. У Eugeno . ошибка, лишний коэффициент при квадрате аргумента. wink.gif

1. Постановка задачи звучит некорректно. Фактически задача должна быть
разбита на две подзадачи
а) интерполяция функции
б) поиск максимума для интерполированной функции

2.1 Совсем малая кровь. Рассматривать линейную аппроксимацию, тогда максимум совпадет с одной из точек. smile.gif

2.2 Использовать интерпляционный полином Лежандра. Как раз то, что хотел предложить Eugeno

Pn(x)=f(x0)*{(x-x1)*(x-x2)*...*(x-xn) / {(x0-x1)*(x0-x2)*..*(x0-xn)}}+
+f(x1)*{(x-x0)*(x-x2)*...*(x-xn) / {(x1-x0)*(x1-x2)*..*(x1-xn)}}+...+
+f(xn)*{(x-x0)*(x-x1)*...*(x-xn_1) / {(xn-x0)*(xn-x1)*..*(x1-xn_1)}}

где (n+1) - кол-во точек,
В этом случае утверждается
f_апп ~= Pn(x)

Для поиска максимума берется аналитически производная (для ленивых - Maple), приравнивается к нулю. Получаете (n-1) корней, т.е. получаете точки экстремумов. Подставляете их поочередно в Pn(x) и выбираете максимум; или ищете вторую производную, находите те точки, для которых она < 0 - для этих точек будет локальный максимум

2.3 Использовать кубическую интерполяцию, минимальное количество точек - 4. Кубическая интерполяция дает построение функции непрерывной саму функцию, первую и вторую производную. Алгоритм несложный и с ним можно разобраться. Зато он лишен недастатков полиномной аппроксимации.
Поиск максимума - такой же как и для случая 2.1 smile.gif

2.4 Полиномы Чебышева.

2.5 Среднеквадратичное приближение, но тогда функция не проходит через точки и нужно априорно записать предполагаемую зависимость функции
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Make_Pic   нужен алгоритм нахождения максимума   Jun 19 2005, 06:16
- - arttab   если функция известна, то через производную можно ...   Jun 19 2005, 14:28
|- - Eugeno   Цитата(arttab @ Jun 19 2005, 17:28)если функц...   Jun 20 2005, 07:20
|- - Fast   Цитата(Eugeno @ Jun 20 2005, 10:20)По четырём...   Jun 21 2005, 07:56
|- - Alexandr   Цитата(Fast @ Jun 21 2005, 11:56)  1. ...   Jun 21 2005, 08:49
||- - Fast   [quote=Alexandr,Jun 21 2005, 11:49] Производная и ...   Jun 21 2005, 09:25
||- - Make_Pic   На входе устройства две частоты речевого диапозо...   Jun 21 2005, 16:08
||- - Fast   Цитата(Make_Pic @ Jun 21 2005, 19:08)На входе...   Jun 22 2005, 04:24
||- - Make_Pic   Цитата(Fast @ Jun 22 2005, 07:24)Цитата(Make_...   Jun 22 2005, 04:33
|- - Make_Pic   Цитата(Fast @ Jun 21 2005, 10:56)1. выбираем ...   Jun 23 2005, 04:41
|- - mikola1   Цитата(Make_Pic @ Jun 23 2005, 07:41)Можно по...   Jun 23 2005, 22:32
|- - Make_Pic   Цитата(mikola1 @ Jun 24 2005, 01:32)Цитата(Ma...   Jun 24 2005, 04:09
||- - Make_Pic   Кстати на телесистемах некий alostap предложил ори...   Jun 24 2005, 04:20
|- - Fast   Цитата(mikola1 @ Jun 24 2005, 01:32)To Fast, ...   Jun 24 2005, 12:33
- - Vic   Цитата(Make_Pic @ Jun 19 2005, 09:16)Имеем 4 ...   Jun 19 2005, 16:55
- - Major   Все же настоятельно рекомендую МНК, и посмотреть с...   Jun 24 2005, 05:24
- - mikola1   Хочу извиниться перед Fast, я действительно неправ...   Jun 24 2005, 21:52


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th September 2025 - 08:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.02612 секунд с 7
ELECTRONIX ©2004-2016