|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Michael Klimenko 2:5010/2.26 24 Nov 2001 12:56:24 To : All Subject : интерполяция --------------------------------------------------------------------------------
1. Hужно осуществить сплайн-интерполяцию 1,2,3 и 4 порядков
по 2..20 точкам. Строю матрицу коэффициентов, решаю систему
методом Гаусса с выбором ведущего элемента по всей матрице,
но при числе точек ~5 сплайн четвёртого порядка разваливается,
получается какая-то бешено скачащая функция, на сплайн совершенно
не похожая. Для третьего порядка это происходит при 6-7 точках,
а для второго - при 10-15 точках.
Я подозреваю, что нужно использовать более правильный метод
решения системы уравнений. Слышал, что для этих целей используется
метод прогонки, но не представляю, как он выглядит.
Помогите пожалуйста чем-нибудь: алгоритм, исходники...
А может дело вовсе не в методе Гаусса?
2. Интерполяционная формула Тила.
Результат - функция, представляющая собой многоэтажную дробь.
Проблема в том, что при числе точек >5 и если эти точки расставлены
очень неравномерно, образуются вертикальные асимптоты. Кто-нибудь
сталкивался? Этот так и должно быть, или можно как-то поправить?
f(x) = f(x1) + (x-x1) / (ro(x1,x2) + (x-x2) / (ro(x1,x2,x3) - f(x1) + (x-x3) /
(ro(x1,x2,x3,x4)-ro(x1,x)+...
(получилось плохо, но как ещё записать - не знаю :)
это наращиваемая вниз дробь, разность x-xi делится на ro(..)-ro(..) [+x-xi/.....
если xi есть]
xi - это абсциссы узлов интерполяции.
Да, и ro - это обратная разность:
ro(x0,x1) = (x0-x1) / ( f(x0)-f(x1) );
ro(x0,x1,x2) = (x0-x2) / ( ro(x0,x1)-ro(x1,x2) ) + f(x1);
ro(x0,x1,x2,x3) = (x0-x3) / ( ro(x0,x1,x2)-ro(x1,x2,x3) ) + ro(x1,x2);
и т.д. по аналогии наращивается число аргументов.
Спасибо заранее всем откликнувшимся.
*С уважением,*
_*Михаил*_
np: Player is OFF
--- GoldED+/LNX 1.1.5
* Origin: Ozersk, Russia, Earth (2:5010/2.26)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/146573bff48d1.html, оценка из 5, голосов 10
|