Сглаживающий шлиц из тонких пластин
является основой сглаживающего шлица f с тонкой пластиной для заданных сайтов данных st = tpaps(x,y)x(:,j) и заданные значения данных y(:,j). x(:,j) должны быть отдельными точками в плоскости, значения могут быть скалярами, векторами, матрицами, даже ND-массивами, и должно быть точно столько же значений, сколько есть сайтов.
Сглаживающий тонкую пластину шлиц f является уникальным минимизатором взвешенной суммы.
) R (f)
с E (f) мера ошибки
(:, j)) | 2
и R (f) мера шероховатости
2 + | D2D2f | 2 |)
Здесь интеграл взят над всеми R2, | z | 2 обозначает сумму квадратов всех записей z, а Dif обозначает частную производную f относительно своего i-го аргумента, следовательно, integrand вовлекает вторые частные производные f. Функция выбирает параметр сглаживанияp чтобы (1-p)/p равняется среднему значению диагональных записей матрицы A, с A + (1-p)/p*eye(n) матрица коэффициентов линейной системы для n определяют коэффициенты сглаживающего сплайна. Это обеспечивает пребывание между двумя крайностями интерполяции (когда p близок к 1 и матрица коэффициентов по существу A) и полное сглаживание (когда p близок к 0 и матрица коэффициентов по существу кратна единичной матрице). Это служит хорошим первым предположением для p.
также вводит параметр сглаживания, st = tpaps(x,y,p)p, число от 0 до 1. Поскольку параметр сглаживания изменяется от 0 до 1, сглаживающий сплайн изменяется от аппроксимации наименьших квадратов до данных линейным многочленом, когда p является 0, к тонколистовому сплайновому интерполятору данных, когда p является 1.
[..., также возвращает значение параметра сглаживания, используемого в конечном результате сплайна, независимо от того, задан он или нет P] = tpaps(...) p. Этот синтаксис полезен для экспериментов, в которых можно начать с [pp,P] = tpaps(x,y) и получить разумное первое предположение для p.
Определение сглаживающего сплайна включает в себя решение линейной системы с таким количеством неизвестных точек данных, как есть. Поскольку матрица этой линейной системы заполнена, решение может занять длительное время, даже если, как здесь, используется итеративная схема, когда имеется более 728 точек данных. Скорость сходимости этой итерации сильно зависит от p, и медленнее, чем больше p является. Итак, для больших проблем используйте интерполяцию, то есть p равно 1, только если вы можете позволить себе время.