Господа, подскажите, плиз, где можно найти исходники многомерной, на крайний случай трехмерной(функция от трех переменных), аппроксимации/интерполяции, желательно на объектноориентированном языке
ПС. Попутно ламерский вопрос: в чем различие аппроксимации и интерполяции?
AS>Господа, подскажите, плиз, где можно найти исходники многомерной, на крайний случай трехмерной(функция от трех переменных), аппроксимации/интерполяции, желательно на объектноориентированном языке
Я тут уже задавал этот вопрос.
Я остановился на Методе наименьших квадратов, т.к. ему вообщем-то всё равно какая у тебя размерность. http://alglib.sources.ru/interpolation/genleastsq.php
Только там у автора используется какой-то хитрый метод решения ситстемы линейных уравнений, я его заменил на метод попроще,
а то на нём крышу срывало при расчёте коэффициентов.
Почему не знаю.
AS>ПС. Попутно ламерский вопрос: в чем различие аппроксимации и интерполяции?
Интерполяция проходит через заданные точки, а апроксимация нет.
Здравствуйте, AlexeySch, Вы писали:
AS>Господа, подскажите, плиз, где можно найти исходники многомерной, на крайний случай трехмерной(функция от трех переменных), аппроксимации/интерполяции, желательно на объектноориентированном языке AS>ПС. Попутно ламерский вопрос: в чем различие аппроксимации и интерполяции?
могу только дать приблизительное направление. есть такой язык FORTRAN, так вот на нем море всего математического было написано. В том числе аппроксимации и интерполяции несколько видов.
Здравствуйте, AlexeySch, Вы писали:
AS>Здравствуйте, Шебеко Евгений, Вы писали:
ШЕ>> Я остановился на Методе наименьших квадратов, т.к. ему вообщем-то всё равно какая у тебя размерность.
AS>Я так толком и не понял у МНК должна быть регулярная сетка или ему все равно?
Нет не должна.
Здравствуйте, Шебеко Евгений, Вы писали: ШЕ> Я остановился на Методе наименьших квадратов, т.к. ему вообщем-то всё равно какая у тебя размерность.
Насколько я понял ты использовал апроксимацию ПРЯМЫМИ МНК? Для моей задачи, мне кажется, точность будет не достаточна. Поэтому хотелось бы найти подходящие базисные функции типа полинома Чебышева, но только для нескольких переменных. Не подскажешь?
Здравствуйте, AlexeySch, Вы писали:
AS>Здравствуйте, Шебеко Евгений, Вы писали: ШЕ>> Я остановился на Методе наименьших квадратов, т.к. ему вообщем-то всё равно какая у тебя размерность. AS>Насколько я понял ты использовал апроксимацию ПРЯМЫМИ МНК? Для моей задачи, мне кажется, точность будет не достаточна.
Да там пофиг какими функциями апроксимировать. Выбираешь набор функций, а метод подбирает линейные коеффициенты для этих функций.
Я апроксимировал полиномами степени N, но у меня удовлетворительно работало только при степени 1. Почему так не знаю.
Поэтому хотелось бы найти подходящие базисные функции типа полинома Чебышева, но только для нескольких переменных. Не подскажешь?
Апроксимация Чебышева как и большинство методов апроксимации требуют регулярную сетку.
Мне это не подходило и я этим не занимался.
Реализация апроксимации функции 2-х переменных с помощью многочлена Чебышева есть в proj4
Tseries *mk_cheby(projUV, projUV, double, projUV *, projUV (*)(projUV), int, int, int);
Но там её тяжело выдерать из контекста.
Здравствуйте, Шебеко Евгений, Вы писали:
ШЕ>Да там пофиг какими функциями апроксимировать. Выбираешь набор функций, а метод подбирает линейные коеффициенты для этих функций. ШЕ>Апроксимация Чебышева как и большинство методов апроксимации требуют регулярную сетку.
Вот я и думаю что надо взять вместо набора функций полиномы Чебышева, только насколько я понимаю они должны быть не от одной переменной а от нескольких. На мануале посмотрел, про несколько переменных ни слова Ну да ладно, главное реализация алгоритма, а функции у же потом можно подобрать.
ШЕ>Я апроксимировал полиномами степени N, но у меня удовлетворительно работало только при степени 1. Почему так не знаю.
Может потому что у тебя матрица получается плохо обусловленная и решать уравнение нужно все же методом SVD разложения.