Easyelectronics.ru • Просмотр темы - Быстро найти коэффициент

Easyelectronics.ru

Электроника для всех
Текущее время: 18 авг 2018, 07:45

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Быстро найти коэффициент
СообщениеДобавлено: 07 апр 2018, 13:58 
Старожил
Аватара пользователя

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 2981
Откуда: Тольятти
Есть два сигнала, A и B. При их сложении энергия суммы может как увеличиться, так и уменьшиться.
Пусть S = A+ k*B. Надо найти коэффициент k такой, чтобы энергия результирующего сигнала S была минимальной.
Можно последовательно подбирать коэффициент и находить энергию, затем уменьшить шаг и повторять вычисления в диапазоне. Но каждое вычисление требует N умножений (возведений в квадрат) и сложений. Нет ли более быстрого способа это сделать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстро найти коэффициент
СообщениеДобавлено: 07 апр 2018, 14:08 
Старожил
Аватара пользователя

Зарегистрирован: 14 апр 2014, 11:06
Сообщения: 1283
Откуда: Курск
S=0;
kB=-A;
k=- A/B.
Одно деление. Не? Тогда лично я ничего не понял


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстро найти коэффициент
СообщениеДобавлено: 07 апр 2018, 14:15 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2483
Откуда: Санкт-Петербург
Энергия как считается? Как сумма квадратов S по всем точкам? Или как сумма квадратов производных?

В любом случае - выписываете формулу энергии, берёте от неё производную по k, ищете корень. Если вы не придумали себе какой-то экзотической формулы для энергии - это обычное линейное уравнение, один шаг.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстро найти коэффициент
СообщениеДобавлено: 07 апр 2018, 14:23 
Старожил
Аватара пользователя

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 2981
Откуда: Тольятти
Да, как сумма квадратов по всем отсчетам.

E = (A[0]+kB[0])^2 + (A[1]+kB[1])^2 + ....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстро найти коэффициент
СообщениеДобавлено: 07 апр 2018, 14:40 
Старожил
Аватара пользователя

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 2981
Откуда: Тольятти
Получилось вот что:

k = -(A0*B0 +A1*B1 + ... ) / ( B0^2 + B1^2 + ... )

вроде бы работает.

PS. Хе-хе, получился коэффициент корреляции, деленный на энергию сигнала B, умноженный на число отсчетов, и взятый с минусом.

R = 1/(N-1) * (A0*B0 + A1*B1 + ... )

k = -R / (B0^2 + B1^2 + ... ) * (N-1)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстро найти коэффициент
СообщениеДобавлено: 08 апр 2018, 13:04 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2483
Откуда: Санкт-Петербург
Вроде всё правильно.
Подход запомните, он очень-очень общий ("максимум/минимум целевой функции - там, где её производная равна нулю"). Из него и метод наименьших квадратов делается (фактически он у вас и получился), и много что ещё.
Ну и на него ещё всякие навороты накручиваются:
1. Недостаточно проверить точки с нулём производной - надо ещё проверить граничные точки (ищем максимум на отрезке AB - проверить в нуле производной, в A и в B).
2. Если есть несколько свободных переменных - ищем, где производная по каждой нулевая (получаем систему уравнений).
3. Если кроме "энергии" как-то задана связь между переменными - к "энергии" добавляется специальное слагаемое, отвечающее за эту связь, а дальше точно так же считаем производные (метод множителей Лагранжа; если "на пальцах" объяснять - он прост до безобразия, а задачки решает весьма сложные).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Быстро найти коэффициент
СообщениеДобавлено: 08 апр 2018, 13:20 
Старожил
Аватара пользователя

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 2981
Откуда: Тольятти
aamonster, многия благодарности вам от меня.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB