На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Как сгладить график?
    Есть график, построенный по точкам (функции нет).
    Как его сделать плавным?
      ну так надобно вычислить функцию, которая проходит через все енти точки. Помоему в каждом техническом вузе на третьем курсе этому учат :)
        Попробуй профитировать его элементарными функциями при одновременном постороении хи квадрата - далее минимизировать ошибку.

        Если не хочешь сам писать прогу то могу подсказать : есть такой зверь PAW (блин как я его ненавижу - Physics Analysis Workstation, по моему халявный) там есть пакет MINUIT - это как раз то о чем я и говорил. Хотя если у тебя 10 точек то это из пушки по воробьям получается.
          А всегда ли можно вычислить функцию для нескольких сотен точек, взятых из базы и представляющих график цена/время ?
            не знаю твоего уровня:)
            1) на новичка - строить не по точкам, а по отрезкам. то естьот каждой предыдущей проводить отрезок к последующей.
            2) на гуру - использовать всякие бета сплайны. (мы тут только курс по этому делу закончили, блин - тяжкая вещь....)
              Цитата shadowbolt, 03.06.02, 23:20:48
              А всегда ли можно вычислить функцию для нескольких сотен точек, взятых из базы и представляющих график цена/время ?

              Всегда. При чем есть два кардинально различающихся метода (и результата, соответственно)

              Интерполяция - сглаживание кривой проходящей через все точки.
              Аппроксимация - сглаживание кривой не обязательно проходящей через все точки.

              Интерполяция может давать очень странный результат если исходные точки заданы с низкой точностью и/или несколько точек пропущено (другие особенности). Интерполирующая функция бесконечно интегрируемая в любой точке, и это может дать большие отклонения функции между двумя заданными точками.

              Можешь почитать про сглаживание http://algolist.manual.ru/maths/approx.php там есть ссылка на PDF

              На этом http://www.serpik.com/ сайте найдешь прикольную программулину которая строит гарфики, сглаживает.
              ихний баннер :)
              user posted image
              Прога отечественная и для русских, когда-то была бесплатной, сейчас не знаю
              Сообщение отредактировано: m -
                to m: Большое спасибо за разъяснение. Значит мне нужна апроксимация. Только сторонние проги не подходят, т.к.  график я строю в своей проге.

                Пошел учить матчасть.
                  Вот тебе еще в помощь:
                  Вверху этой страницы:
                  Разделы сайта -> Паскаль
                  Потом в окошке поиска введи "сплайн" -> [ Search ]
                    а ещё на http://www.planet-source-code.com есть специальный движок - data smooth engine зовётся.
                    Сообщение отредактировано: Hummy -
                      Слышал о рядах фурье? Это первый способ.
                      А второй - это аппроксимация. У меня есть свой курсовик (правда, только для 3-х точек), так что, если надо, кинь мне приватное сообщение....

                      2 purpe: У кого на третьем, у кого ещё на подготовительных курсах :)
                      Сообщение отредактировано: 7in -
                        Тогда точно нужно бета сплайны. если данных тебе ссылок недостаточно, попробуй поискать на яндексе по словам бета сплайн или  B-сплайн.
                        там результатов не так много, и среди них есть класс, который как раз и строит апроксимации по точкам. класс не очень большой, разобраться несложно:)
                        не найдешь, постараюсь у себя на винте поискать и прислать:)

                        ЗЫ блин, у меня ж по этим бета-сплайнам экзамен, я я досих пор не разобрался с ними нормально:(... где бы литературу найти...
                          По ссылке тов. m обнаружено содержание интересного произведения, а именно:
                          "Практикум на ЭВМ" К.Ю. Богачева. Но ссылка на файл не рабочая. Поднапряг поисковики, тоже не нашел.

                          Вроде нашел этот файл, но расширение *.ps. Внутри
                          \%!PS-Adobe-2.0
                          \%\%Creator: dvips(k) 5.86d Copyright 1999 Radical Eye Software
                          \%\%Title: a.dvi
                          Чем смотреть - непонятно, пахнет ТеХ'ом.

                          Если у кого есть сие произведение в более другом виде был бы очень рад увидеть его в мыле:  snikita<>torba.com
                            Правильно что TeX'ом пахнет - сделан то файл из дэвэишки!
                            Поскрипты читаются c помощью GSview
                              Сгладить можно полиномом N порядка, коффициенты которого вычисляются по методу Гаусса, например...
                              Сам над такой же проблемой на той неделе бился.
                              Могу залить исходник реализации алгоритма на C.
                                Цитата shadowbolt, 05.06.02, 10:27:41
                                По ссылке тов. m обнаружено содержание интересного произведения, а именно:
                                "Практикум на ЭВМ" К.Ю. Богачева. Но ссылка на файл не рабочая. Поднапряг поисковики, тоже не нашел.

                                Вроде нашел этот файл, но расширение *.ps. Внутри
                                \%!PS-Adobe-2.0
                                \%\%Creator: dvips(k) 5.86d Copyright 1999 Radical Eye Software
                                \%\%Title: a.dvi
                                Чем смотреть - непонятно, пахнет ТеХ'ом.

                                Если у кого есть сие произведение в более другом виде был бы очень рад увидеть его в мыле:  snikita<>torba.com

                                Не правда ваша тов. shadowbolt, обе ссылки проверены, теперь уже повторно. Все качается.
                                На ту ссылку нужно нажать мышой, (а не просто смотреть на нее), откроется окошечко, с рекомендациями по скачиванию и просмотру.
                                Вот линк на сам файл http://algolist.manual.ru/maths/method_approx.zip, в этом архиве лежит файл с расширением .PS
                                его можно смотреть вьюверами (см. выше) или сразу распечатать командой
                                copy prn Semestr2.ps
                                если принтер поддерживает ps (это обычно большими буквами в названии указывается) и если бумаги не жалко.
                                  Цитата m, 06.06.02, 12:32:22

                                  Не правда ваша тов. shadowbolt, обе ссылки проверены, теперь уже повторно. Все качается.
                                  На ту ссылку нужно нажать мышой, (а не просто смотреть на нее), откроется окошечко, с рекомендациями по скачиванию и просмотру.


                                  Ясненько. Это у меня Опера шалила. Хоть я и тыкал на ссылку, ничего не происходило.
                                    2purpe: Na samom dele dovol'no trudno budet nai'ti takuju funkciju dlja bol'shogo chisla tochek ;)
                                    Mojno poprobovat' porabolami soedinjat' po tri tochki, no jeto ne ochen' horoshii' sposob.
                                    Vot tut obsujdalsja tot je vopros i est' ishodnik na paskale: http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?s=3cff5bab7273ffff;act=ST;f=13;t=815
                                      2 neutrino:
                                      Почему в том форуме ты пишешь по-русски, а здесь транслитерацией?
                                      Мы тоже хотим по-русски :)
                                        Zdravstvui'te Vot.
                                        Otvechu: Potomu chto tam est' perevod s translita, a ja ne mnogo ne v Rossii, i komp'jutery, kotorye ja ispol'zuju ne moi. I nel'zja na nih ustanovit' russkii' :(. U samogo glaza boljat ot jetogo translita. Izvinite uj menja.
                                          Цитата neutrino, 06.06.02, 18:06:03
                                          2purpe: Na samom dele dovol'no trudno budet nai'ti takuju funkciju dlja bol'shogo chisla tochek ;)
                                          Mojno poprobovat' porabolami soedinjat' po tri tochki, no jeto ne ochen' horoshii' sposob.
                                          Vot tut obsujdalsja tot je vopros i est' ishodnik na paskale: http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?s=3cff5bab7273ffff;act=ST;f=13;t=815

                                          Может и трудно, но функция всегда найдётся !
                                          А мы, кстати, не ищем простых путей :)
                                            Цитата neutrino, 06.06.02, 19:37:24
                                            Zdravstvui'te Vot.
                                            Otvechu: Potomu chto tam est' perevod s translita, a ja ne mnogo ne v Rossii, i komp'jutery, kotorye ja ispol'zuju ne moi. I nel'zja na nih ustanovit' russkii' :(. U samogo glaza boljat ot jetogo translita. Izvinite uj menja.

                                            А где "там" ?
                                            Киньте ссылочку, плиз.... только приватным сообщением....
                                              >> Как сгладить график?
                                              А если просто сделать преобразование Фурье, и в полученном спектре урезать высокие частоты квантованием?
                                                Быстрее всего интерполяция Оверхаузера - http://www.musicdsp.org/archive.php?classid=5#93 - здесь она позорно обозвана эрмитовой
                                                  Цитата andyag, 13.06.02, 15:35:58
                                                  >> Как сгладить график?
                                                  А если просто сделать преобразование Фурье, и в полученном спектре урезать высокие частоты квантованием?

                                                  В данном случае ты можешь получить бешенную погрешность и потерять уйму полезных данных. ;)
                                                    Цитата GrAnd, 19.06.02, 16:35:19

                                                    В данном случае ты можешь получить бешенную погрешность и потерять уйму полезных данных. ;)

                                                    А под сглаживанием разве не это имеется ввиду? ;)
                                                      Но никак не "обрезание" высоких частот. Это равносильно тому, что взять среднее арифметическое от всех значений. ;D ;D ;D
                                                        Цитата GrAnd, 20.06.02, 08:41:59
                                                        Но никак не "обрезание" высоких частот. Это равносильно тому, что взять среднее арифметическое от всех значений. ;D ;D ;D

                                                        Я же не говорю _совсем обрезать_, я говорю _немного проквантовать_ :-)
                                                        ( урезать - не значит зарезать :-) )
                                                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                        0 пользователей:


                                                        Рейтинг@Mail.ru
                                                        [ Script execution time: 0,0562 ]   [ 15 queries used ]   [ Generated: 27.04.24, 10:53 GMT ]