Сглаживание сплайна
Примечание
Для более простого, но менее гибкого метода создания сглаживающих сплайнов воспользуйтесь приложением «Фитинг кривой» или fit функция.
возвращает B-форму наиболее гладкой функции f, которая находится в пределах заданного допуска sp = spaps(x,y,tol) tol заданных точек данных (x(j), y(:,j)), j=1:length(x). Значения данных y(:,j) скаляры, векторы, матрицы или даже ND-массивы. Точки данных с одним и тем же узлом данных заменяются их средневзвешенными значениями, при этом их вес представляет собой сумму соответствующих весов и допуск. tol соответственно уменьшается.
[sp, также возвращает сглаженные значения. values] = spaps(x,y,tol) values является таким же, как fnval(sp,x).
Здесь расстояние функции f от заданных данных измеряется
(x (j))) | 2
с выбором по умолчанию для весов w делая E (f) составным трапециевидным правилом аппроксимацию y − f | 2 и | z | 2, обозначающим сумму квадратов записей z.
Кроме того, самый гладкий означает, что следующая мера шероховатости сведена к минимуму:
Dmf (t) | 2dt
где Dmf обозначает mth производная f. Значение по умолчанию для m является 2, значением по умолчанию для веса λ измерения шероховатости является константа 1, что делает f кубическим сглаживающим сплайном.
Когда tol является неотрицательным, то сплайн f определяется как уникальный минимизатор выражения startE (f) + F (Dmf), при этом параметр сглаживания (необязательно возвращаемый) выбирается таким образом, что E (f) равноtol. Следовательно, когда m является 2, то после преобразования в ppform результат должен быть таким же (вплоть до округления), как и полученный csaps (x, y, start/( start+ 1)). Далее, когдаtol равно нулю, то возвращается «естественный» или вариационный сплайновый интерполятор порядка 2m. Для достаточно больших tol, аппроксимация наименьших квадратов к данным по многочленам степени <m возвращается.
Когда tol является отрицательным, то -tol.
Значением по умолчанию для весовой функции λ в измерении шероховатости является постоянная функция 1. Но вы можете выбрать его, чтобы быть, в более общем плане, кусочно постоянной функцией, с разрывами только на сайтах данных. Предполагая вектор x Чтобы быть строго увеличивающимся, вы указываете такую кусочно-постоянную λ вводом tol как вектор того же размера, что и x. В этом случае tol(i) принимается за постоянное значение λ на интервале (x(i-1) .. x(i)), i=2:length(x), пока tol(1) продолжает использоваться в качестве заданного допуска.
[sp,values, также возвращает фактическое значение, используемое в качестве третьего выходного аргумента.rho] = spaps(x,y,tol)
[...] = spaps(x,y,tol, позволяет указать весовой вектор w,m) w и/или целое число m, поставляя их в качестве argi. Для этого, w должен быть неотрицательным вектором того же размера, что и x; m должно быть 1 (для кусочно-линейного сглаживающего сплайна), или 2 (для кубического сглаживающего сплайна по умолчанию), или 3 (для квинтического сглаживающего сплайна).
Если результирующий сглаживающий сплайн sp должен вычисляться вне его базового интервала, его следует заменить на fnxtr(sp,m) для обеспечения того, чтобы его m-я производная равна нулю за пределами этого интервала.
[...] = spaps({x1,...,xr},y,tol,...) возвращает B-форму r-вариативный сглаживающий сплайн тензора-произведения, который приблизительно находится в пределах заданного допуска к заданным данным с сеткой. Для разрозненных данных используйте tpaps. Сейчас y ожидается, что будут предоставлены соответствующие значения с сеткой, с size(y) равно [length(x1),...,length(xr)] в случае, если функция является скалярной и равна [d,length(x1),...,length(xr)] в случае, если функция d-значение. Далее, tol должен быть массивом ячеек с r записи, с tol{i} допуск, используемый во время i-й шаг при одномерном (но векторном) сглаживающем сплайне в iСтроится -я переменная. Дополнительный вход для m должно быть r-вектор (с записями из аппарата {1,2,3}) и необязательный вход для w должен быть массивом ячеек длиной r, с w{i} либо пустой (чтобы указать, что требуется выбор по умолчанию), либо положительный вектор той же длины, что и xi.
Эта функция использует подход Рейнша [1], включая его способ выбора уравнения для оптимального параметра сглаживания таким образом, чтобы было доступно хорошее начальное предположение и метод Ньютона гарантированно сходился и сходился быстро.
[1] С. Рейнш. «Сглаживание сплайновыми функциями». Номер. Математика 10 (1967), 177-183.