|
|
  |
Сложение сигналов в самый "узкий", Как найти весовые коэффициенты для сложения? |
|
|
|
Nov 23 2010, 15:16
|
Частый гость
 
Группа: Участник
Сообщений: 117
Регистрация: 6-09-10
Пользователь №: 59 335

|
Цитата(Oldring @ Nov 23 2010, 18:06)  Есть. Если у нас N отсортированных по возрастанию изломов слагаемых, то D[0] = Sum(b[i] - a[i]) D[k] = D[k-1] + 2 * (a[k] - b[k]), k = 0..N D[N+1] = Sum(a[i] - b[i])Цитата(Oldring @ Nov 23 2010, 18:06)  Сорри, читать "нужно брать". Не согласен, что нужно брать излом, после которого производная меняет знак. Ведь мы могли идти не слева направо, а наоборот. По-моему, надо брать излом, который соответствует минимальному значению модуля производной.
|
|
|
|
|
Nov 23 2010, 15:18
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(getch @ Nov 23 2010, 18:16)  Если у нас N отсортированных по возрастанию изломов слагаемых, то D[0] = Sum(b[i] - a[i]) D[k] = D[k-1] + 2 * (a[k] - b[k]), k = 0..N D[N+1] = Sum(a[i] - b[i]) Задумайтесь о смысле разности b[i] - a[i]. Цитата(getch @ Nov 23 2010, 18:16)  Не согласен, что нужно брать излом, после которого производная меняет знак. Ведь мы могли идти не слева направо, а наоборот. По-моему, надо брать излом, который соответствует минимальному значению модуля производной. Думайте.
--------------------
Пишите в личку.
|
|
|
|
|
Nov 23 2010, 15:29
|
Частый гость
 
Группа: Участник
Сообщений: 117
Регистрация: 6-09-10
Пользователь №: 59 335

|
Цитата(Oldring @ Nov 23 2010, 18:18)  Задумайтесь о смысле разности b[i] - a[i]. На всякий случай напишу целевую функцию: Sum(|a[i] * x + b[i] * (1 - x)|) = Sum((|(a[i] - b[i]) * x + b[i]|). b[i] - a[i] - это изменение угла наклона. Цитата(Oldring @ Nov 23 2010, 18:18)  Думайте. Нулевой производной может и не существовать. Поэтому нам нужна производная, как можно ближе к нулю. Т.е. если D[M] * D[M + 1] < 0, то искомый излом будет соответствовать min(|D[M]|, |D[M + 1]|)
Сообщение отредактировал getch - Nov 23 2010, 15:29
|
|
|
|
|
Nov 23 2010, 15:35
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(getch @ Nov 23 2010, 18:29)  На всякий случай напишу целевую функцию: Sum(|a[i] * x + b[i] * (1 - x)|) = Sum((|(a[i] - b[i]) * x + b[i]|). b[i] - a[i] - это изменение угла наклона. А теперь продифференцируйте модуль. Цитата(getch @ Nov 23 2010, 18:29)  Нулевой производной может и не существовать. Но всегда существует излом, при переходе которой производная меняет знак. Он и есть минимум.
--------------------
Пишите в личку.
|
|
|
|
|
Nov 23 2010, 15:42
|
Частый гость
 
Группа: Участник
Сообщений: 117
Регистрация: 6-09-10
Пользователь №: 59 335

|
Цитата(Oldring @ Nov 23 2010, 18:35)  А теперь продифференцируйте модуль. D(x) = b[i] - a[i], x < b[i] / (b[i] - a[i]) D(x) = Unknown, x = b[i] / (b[i] - a[i]) D(x) = a[i] - b[i], x > b[i] / (b[i] - a[i])Цитата(Oldring @ Nov 23 2010, 18:35)  Но всегда существует излом, при переходе которой производная меняет знак. Он и есть минимум. Так такой излом и слева и справа от нуля! P.S. Unknown можно считать нулем.
Сообщение отредактировал getch - Nov 23 2010, 15:44
|
|
|
|
|
Nov 23 2010, 15:44
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(getch @ Nov 23 2010, 18:42)  D(x) = b[i] - a[i], x < b[i] / (b[i] - a[i]) D(x) = Unknown, x = b[i] / (b[i] - a[i]) D(x) = a[i] - b[i], x > b[i] / (b[i] - a[i]) А если a[i] < b[i]? Цитата(getch @ Nov 23 2010, 18:42)  Так такой излом и слева и справа от нуля! От какого ещё нуля?
--------------------
Пишите в личку.
|
|
|
|
|
Nov 23 2010, 15:57
|
Частый гость
 
Группа: Участник
Сообщений: 117
Регистрация: 6-09-10
Пользователь №: 59 335

|
Цитата(Oldring @ Nov 23 2010, 18:44)  А если a[i] < b[i]? D[0] = -Sum(|b[i] - a[i]|) D[k] = D[k-1] + 2 * |a[k] - b[k]|, k = 0..N D[N+1] = Sum(|b[i] - a[i]|)
Цитата(Oldring @ Nov 23 2010, 18:44)  От какого ещё нуля? Мы бежим слева-направо. Вы утверждаете, что нам нужен первый излом, который поменяет знак производной. Если бы мы бежали справа-налево, то с такой логикой получили бы другой излом.
|
|
|
|
|
Nov 23 2010, 16:08
|
Частый гость
 
Группа: Участник
Сообщений: 117
Регистрация: 6-09-10
Пользователь №: 59 335

|
Цитата(Oldring @ Nov 23 2010, 18:59)  Нет. Я утверждаю, что нам нужен любой излом, который поменяет знак производной. И каждый такой излом будет равным минимумом целевой функции. С какой бы стороны ни бежать. Но вероятность того, что их окажется несколько, крайне мала. Допустим, что мы пронумеровали изломы слева направо 1, 2, 3, ...., NИ для них получили такие значения производной: D[100] = -1 D[101] = -0.25 D[102] = 0.5 D[103] = 1Какой излом брать, 101 или 102? Заметил у себя ошибку, проивзодных будет не N+2, а 2 * N + 2: D[0] = -Sum(|b[i] - a[i]|) D[k] = D[k-1] + |a[k/2] - b[k/2]|, k = 0..2 * N D[2 * N+1] = Sum(|b[i] - a[i]|)
Сообщение отредактировал getch - Nov 23 2010, 16:34
|
|
|
|
|
Nov 23 2010, 17:59
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(getch @ Nov 23 2010, 19:08)  Какой излом брать, 101 или 102? 102 Цитата(getch @ Nov 23 2010, 19:08)  D[k] = D[k-1] + |a[k/2] - b[k/2]|, k = 0..2 * N Мы уже добрались до полуцелых индексов массивов?
--------------------
Пишите в личку.
|
|
|
|
|
Nov 23 2010, 19:14
|
Частый гость
 
Группа: Участник
Сообщений: 117
Регистрация: 6-09-10
Пользователь №: 59 335

|
Цитата(Oldring @ Nov 23 2010, 20:59)  102 Я не понимаю, почему брать надо первый положительный при ходе слева-направо, а не первый отрицательный при ходе справа-налево. Произвел проверку на множестве вариантов, Вы правы. Но почему, так и не пойму. Написал нахождение минимума:  Спасибо огромное за разъяснения! Наглею, но спрошу, может, сталкивались с такой задачей: Цитата(getch @ Nov 22 2010, 20:42)  P.S. Интересно, как сложить сигналы, чтобы получившийся сигнал имел одинаковый коэффициент корреляции с исходными, даже если дисперссии исходных сигналов неравны... Количество вариантов таких сигналов бесконечно. А вот как найти такой сигнал, у которого коэффициент корреляции с исходными не только одинаковый, но и максимально-возможный?
Сообщение отредактировал getch - Nov 23 2010, 19:15
|
|
|
|
|
Nov 23 2010, 20:16
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(getch @ Nov 23 2010, 22:14)  Вы правы. Но почему, так и не пойму. Да потому что у вас в массиве вершин к вершине приписана производная справа от неё  Написал нахождение минимума: Цитата(getch @ Nov 23 2010, 22:14)  Количество вариантов таких сигналов бесконечно. А вот как найти такой сигнал, у которого коэффициент корреляции с исходными не только одинаковый, но и максимально-возможный? С какой это стати "бесконечно"? Они все пропорциональны друг другу. Если ковариационная матрица невырождена, то решение, написанное ранее, дает ровно один вектор.
--------------------
Пишите в личку.
|
|
|
|
|
Nov 23 2010, 21:14
|
Частый гость
 
Группа: Участник
Сообщений: 117
Регистрация: 6-09-10
Пользователь №: 59 335

|
Цитата(Oldring @ Nov 23 2010, 23:16)  Да потому что у вас в массиве вершин к вершине приписана производная справа от неё  Ну я и ступил... Точно! Цитата(Oldring @ Nov 23 2010, 23:16)  С какой это стати "бесконечно"? Они все пропорциональны друг другу. Если ковариационная матрица невырождена, то решение, написанное ранее, дает ровно один вектор. Похоже, вы правы. Меня ввел в заблуждение такой результат (на знаки корреляции не обратил внимание):  P.S. Допустим мы имеем всего два вектора длинной единица в трехмерном пространстве. Тогда вектора, которые одинаково коррелированы с исходными двумя, разве не образуют окружность?
Сообщение отредактировал getch - Nov 23 2010, 21:17
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|