forum.alglib.net
http://forum.alglib.net/

Two-dimensional interpolation
http://forum.alglib.net/viewtopic.php?f=2&t=312
Page 1 of 1

Author:  eagleoriginal [ Thu Mar 03, 2011 12:18 pm ]
Post subject:  Two-dimensional interpolation

Добрый день.

Пользуюсь библиотекой алглиб для одномерных сплайнов все нормально.

Теперь необходимо решить задачу используя функцию двух переменных.
Задача проста, но решения найти немогу.

Исходные данные:
Имеются кординаты на плоскости XOY. Имеется дискретное время в каждый момент которого в системе появляется новая запись точки XOY.

Проблема:
В определенный момент времени ожидаемые точки XOY пропадают,(при этом возможно на несколько тиков). Затем сигнал восстанавливается.

Задача:
Имея данные XOY по временной координате T Определить
1. Интерполированное значение XOY в промежутках между Tn-1 и Tn.
2. Или если есть возможность то еще и Экстраполировать функцию за пределами Tn если задержка сигнала достигла большего времени.

Описание технической необходимости:
По сути это алгоритм куда пользователь водя мышкой по монитору тыкнет в следующий момент времени. Здесь не мышка другой манипулятор но суть практически одинакова.
Почему нельзя делать просто 1Dсплайном потому что я незнаю как им пользоваться когда функция становится большего порядка, т.е. когда координаты начинают описывать дуги.
Поэтому пришел к решению либо интерполировать отдельно по TX и по TY либо наверно существует некий правильный метод как работать с функцией двух переменных.

Не претендую на точность всех терминов. Поскольку в математике не силен. Как признак могу привести мое абсолютное непонимание как пользоваться апроксимацие МНК для получения данной мне функциональности
http://www.rsdn.ru/forum/alg/1407137.flat.aspx - ссылаются именно на этот метод.

P.S.
Забыл уточнить: Кривые Безье не вариант.

Author:  eagleoriginal [ Fri Mar 04, 2011 5:48 am ]
Post subject:  Re: Интерполяция функций двух переменных.

Как в анегдоте я опять поспал немножко и опять взглянул в окошко.

Вообщем я немного осознал что мне надо.
Получается что это никак не функция двух переменных.

Это некая трехмерная функция. В которой координата Z это время. При этом оно гарантированно увеличивается линейно и непрерывано.
На каждое значение этого времени существует некая проекция на плоскости XOY.
Соотвественно в пространтве это выглядит как некая нить тянущаяся вдоль оси Z. Теперь вопрос как это вообще охаракетеризовать и есть ли метод получается работать с такими данными, чтобы продолжить эту нить. Потому как здесь я так понимаю всеравно нельзя делить на отдельные оси X и Y. Я гдето видел чтото подобное с названием "Вейвлет". Прошу подскажите.

Author:  Sergey.Bochkanov [ Sat Mar 05, 2011 9:33 am ]
Post subject:  Re: Интерполяция функций двух переменных.

Это, скорее всего, параметрические сплайны - http://www.alglib.net/translator/man/ma ... it_pspline (для C#, для C++ замените csharp на cpp). Попробуйте ими.

И еще - форум англоязычный, так что лучше писать по английски, либо по e-mail.

Author:  eagleoriginal [ Wed Mar 09, 2011 9:14 am ]
Post subject:  Re: Интерполяция функций двух переменных.

Thank you. It's just ideal.


P.S.
По русски писать больше не буду

Author:  eagleoriginal [ Wed Mar 09, 2011 12:24 pm ]
Post subject:  Re: Интерполяция функций двух переменных.

I`m not wont create new theme. So i had new task near 2d Spline.
2d splines using regular lattice sites. I have 6 points on the plane but they are not located exactly at those nodal points of the lattice. Moreover, their offset relative to the nodal points are not the same.
At each point there is a parameter shift in X and Y. Before, I did two 2d spline, but recently just realized that this is erroneous.
There is a variant function which will take 2d Spline not over the lattice, and on an arbitrary set of points with the values of each point?

Thanks in advance...

____________________________________________________
{Я имею 6 точек на плоскости но они не расположены конкретно на этих узловых точках решетки. При этом их смещение относительно узловой точки не одинаковое.
В каждой точке есть параметр смещения по X и по Y. Раньше я делал два 2d сплайна, но недавно просто понял что это ошибочно.
Есть вариант функция которая будет считать 2d Spline не по узлам решетки, а по проивзольному набору точек со значениями функции в каждой точке?

Заранее спасибо.}

Author:  Sergey.Bochkanov [ Thu Mar 10, 2011 5:52 am ]
Post subject:  Re: Two-dimensional interpolation

You can try to use IDW interpolation - http://www.alglib.net/interpolation/inv ... ghting.php - but this algorithm requires some problem-specific tuning...

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/