Многочлены
- From
- Evgenij Masherov (2:5020/175.2)
- To
- Valentin Davydov
- Date
- 2002-12-25T10:00:07Z
- Area
- RU.ALGORITHMS
From: "Evgenij Masherov" <EMasherow@nsi.ru>
Tue Dec 24 2002 18:25, Valentin Davydov wrote to All:
VD> Задана табличная функция, довольно гладкая, в равноотстоящих узлах
VD> (узлов порядка тысячи). Хочется аппроксимировать её многочленом
VD> достаточно высокой степени, скажем, 15-20. Я пока сделал вот как:
VD> построил многочлены Лежандра прямо по формулам P(0,x)=1, P(1,x)=x,
VD> P(n+1,x)=((2*n+1)*x*P(n,x)-n*P(n-1,x))/(n+1), вычислил их значения
VD> в каждом узле (приведя последние к промежутку [-1,1], разумеется),
VD> затем методом прямоугольников проектирую заданные точки на эти
VD> многочлены и получаю таким образом коэффициенты.
VD> Для повышения точности я, перед тем, как работать с очередным
VD> многочленом, вычитаю из исходных данных все предыдущие с
VD> соответствующими (найденными
VD> на предыдущих шагах) коэффициентами. Однако после нескольких итераций
VD> такие вычтенные данные явно содержат остатки низших степеней, причём в
VD> довольно странном количестве (порядка процента - для ошибок округления
VD> явно много,
VD> а для пропущенной в формуле двойки явно мало). Проверил ортогональность
VD> используемых многочленов (тем же способом прямоугольников) и увидел тот
VD> же самый процент в двух местах: во-первых, в отличие нормы многочлена от
VD> единицы, а во-вторых, в нормах произведений разных многочленов одной
VD> чётности.
VD> Насколько я понимаю, причина - в используемом мною способе
VD> интегрирования.
VD> Вопрос, собственно, следующий: есть ли более простой способ "исправить"
VD> многочлены (или алгоритм интегрирования), чем тупая процедура
VD> ортонормирования?
Полагаю, причина - в используемых многочленах. Они ортогональны, если
ортогональность определять через интегрирование, а при суммировании они
ортогональны лишь приблизительно (как сумма - апроксимация интеграла). Нужно
использовать многочлены, ортогональные для дискретного аргумента (Они есть в
Абрамовице и Стигане, а также в более специальных пособиях - но навскидку не
напишу...)
Кроме того, не проще ли решать данную задачу более традиционно, через конечные
разности?
Евгений Машеров АКА СанитарЖеня
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)