Полезные задачи, упражнения, тесты по ..., делимся интересными задачами по программированию и не только |
Здравствуйте, гость ( Вход | Регистрация )
Полезные задачи, упражнения, тесты по ..., делимся интересными задачами по программированию и не только |
AD |
20.10.2010, 9:11
Сообщение
#21
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
То есть самая первая подзадача - это найти критерий определения шума. Ну то есть, тот предел, по которому можно будет ориентироваться является ли число в последовательности шумом или нет!
|
|
|
Алексей1153 |
20.10.2010, 9:35
Сообщение
#22
|
|||
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Я правильно понимаю, что __acc, n_acc - пределы, по которым определяются "шумы"? да, __acc - это точность (1000 ~ 3 порядка) , а n_acc - величина, обратная к __acc . Это далее для сравнения "больше на 3 порядка" или "меньше на 3 порядка". Поскольку деление - операция "тяжёлая", я вынес её за цикл Сильно ли усложнит задачку следующее добавление, что пределы должны определяться в зависимости от массива/вектора? да ни грамма не усложнит Надо сделать: перед вычислением пройтись по данным, определить максимум и минимум. В зависимости от них выбрать __acc. Как поведет себя предложенный метод если к примеру первые 2 значения числа больше 1000 и 2000, а остальные 1 2 3 4 5. - какие значения удалятся из интервала? я код не тестировал. А по алгоритму, щас посмотрим:
ага, дебаг показал уже два косяка: 1) условие проверяется по 2 раза. Сократить до одного раза 2) значение нельзя просто удалять. Его надо заменять на следующее, а затем шагнуть один шаг назад и продолжить оттуда:
и ещё один баг: если сканировать с начала, приоритет отдаётся последним значениям. И "низкая волна" в конце перекроет "высокую " в начале. Тут можно попробовать заранее просмотреть данные и ориентироваться на некий уровень. а ещё, кстати! я у себя делал сглаживание ступенчатого сигнала, наверное такой метод тоже может подойти, сейчас скрины для примера сделаю, прикреплю без сглаживания одна итерация 10 итераций Сообщение отредактировал Алексей1153 - 20.10.2010, 9:33 |
|||
|
||||
kwisp |
20.10.2010, 10:04
Сообщение
#23
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
Алексей1153 |
20.10.2010, 10:24
Сообщение
#24
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
kwisp, а как ты хотел Чтоб без отладки оно всё взяло и заработало ? Представь себе меандр с амплитудой 2000 у.е. По какому критерию будешь отбрасывать значения ? Ноль или амплитудные ?
|
|
|
kwisp |
21.10.2010, 14:38
Сообщение
#25
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
вот моя попытка.
к сожалению определить полностью автоматически лишние значения для меня оказалось очень сложно. Все же нужен критерий оценки от пользователя. Понятно что можно расширить и улучшить. находим мат. ожидание(в данном случае = ср.арифметическому), к примеру, так: upthrow.h
или просто с использованием accumulate и distance неважно пример использования следующий: main.cpp Раскрывающийся текст
в данном примере критерий удаления - это разница значения элемента с мат.ожиданием больше чем 2,5 мат.ожидания, взят для примера. на самом деле придется хоть немного знать о хранимых значениях чтобы выбрать критерий правильно для своей задачи. |
|
|
Алексей1153 |
21.10.2010, 17:57
Сообщение
#26
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
[offtop]
kwisp, кстати, специализацию можно не указывать тут std::distance<InputIterator>(first,last); - она очевидна. Можно вот так std::distance(first,last); [/offtop] |
|
|
kwisp |
21.10.2010, 18:12
Сообщение
#27
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
самому себе для наглядности написал.
|
|
|
Текстовая версия | Сейчас: 30.12.2024, 20:01 |