Easyelectronics.ru

Электроника для всех
Текущее время: 20 июл 2018, 09:35

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



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

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

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


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

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


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

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

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


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

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

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


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

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

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


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

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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