spaps
Spline de suavizado
Sintaxis
Descripción
Nota
Encontrará un método para generar splines de suavizado más sencillo pero menos flexible en la app Curve Fitter o en la función fit
.
devuelve el B-form de la función f más suave, que se encuentra dentro de la tolerancia sp
= spaps(x
,y
,tol
) tol
dada de los puntos de datos (x(j), y(:,j)), j=1:length(x)
dados. Los valores de los datos y(:,j)
son escalares, vectores, matrices o incluso arreglos n-dimensionales. Los puntos de datos con el mismo sitio de datos se sustituyen por su media ponderada, siendo su ponderación la suma de las ponderaciones correspondientes, y la tolerancia tol
se reduce en consecuencia.
[sp,
también devuelve los valores suavizados. values
] = spaps(x,y,tol) values
es igual que fnval(sp,x)
.
En este caso, la distancia de la función f a los datos dados se mide por
con la opción predeterminada para las ponderaciones w
, que hace de E(f) la aproximación de la regla del trapecio compuesta a , y |z|2, que denota la suma de los cuadrados de las entradas de z.
Además, por la más suave se entiende que se minimiza la siguiente medida de rugosidad:
donde Dmf denota la m
-ésima derivada de f. El valor predeterminado de m
es 2
, el valor predeterminado de la ponderación de la medida de rugosidad λ es la constante 1 y esto hace que f sea un spline de suavizado cúbico.
Cuando tol
es no negativo, el spline f se determina como el minimizador único de la expresión ρE(f) + F(Dmf), eligiéndose el parámetro de suavizado ρ (opcionalmente devuelto) de modo que E(f) sea igual a tol
. Por tanto, cuando m
es 2
, tras la conversión a ppform, el resultado debería ser el mismo (hasta el redondeo) que el obtenido por csaps(x,y,ρ/(ρ + 1)). Además, cuando tol
es igual a cero, se devuelve la interpolación por splines "natural" o variacional de orden 2m. Para tol
suficientemente grandes, se devuelve la aproximación por mínimos cuadrados a los datos mediante polinomios de grado <m
.
Cuando tol
es negativo, ρ es -tol
.
El valor predeterminado de la función λ de ponderación en la medida de rugosidad es la función constante 1. Pero puede elegir que sea, en términos más generales, una función constante por tramos, con saltos únicamente en los sitios de los datos. Si el vector x
es estrictamente creciente, se especifica una constante por tramos λ introduciendo tol
como un vector del mismo tamaño que x
. En ese caso, se toma tol(i)
como el valor constante de λ en el intervalo (x(i-1)
... x(i)
), i=2:length(x)
, mientras que tol(1)
se sigue utilizando como la tolerancia especificada.
[sp,values,
también devuelve el valor real de ρ utilizado como tercer argumento de salida.rho
] = spaps(x,y,tol)
[...] = spaps(x,y,tol,
permite especificar el vector de ponderaciones w
,m
) w
o el entero m
proporcionándolos como argi
. Para ello, w
debe ser un vector no negativo del mismo tamaño que x
; m
debe ser 1
(para un spline de suavizado lineal por tramos), 2
(para el spline de suavizado cúbico predeterminado) o 3
(para un spline de suavizado de quinto grado).
Si el spline de suavizado resultante, sp, se desea evaluar fuera de su intervalo básico, se debe sustituir por fnxtr(sp,m)
para garantizar que su m
-ésima derivada sea cero fuera de ese intervalo.
[...] = spaps({x1,...,xr},y,tol,...)
devuelve el B-form de un spline de suavizado de tensor-product r
-variado que está aproximadamente dentro de la tolerancia especificada para los datos de malla dados. Para datos dispersos, use tpaps
. Ahora se espera que y
proporcione los valores de malla correspondientes, siendo size(y)
igual a [length(x1),...,length(xr)]
en caso de que la función sea de valor escalar e igual a [d,length(x1),...,length(xr)]
en caso de que la función sea de valor d
. Además, tol
debe ser un arreglo de celdas con r
entradas, siendo tol{i}
la tolerancia utilizada durante el i
-ésimo paso cuando se construye un spline de suavizado univariado (pero con valores vectoriales) en la i
-ésima variable. La entrada opcional para m
debe ser un vector r
(con entradas del conjunto {1,2,3}
) y la entrada opcional para w
debe ser un arreglo de celdas de longitud r
, estando w{i}
vacío (para indicar que se desea la opción predeterminada) o bien siendo un vector positivo de la misma longitud que xi
.
Ejemplos
Argumentos de entrada
Argumentos de salida
Algoritmos
Esta función utiliza el enfoque de Reinsch [1], incluida la forma de elegir la ecuación para el parámetro de suavizado óptimo de tal modo que se disponga de una buena estimación inicial y se garantice que el método de Newton converja y lo haga rápidamente.
Referencias
[1] C. Reinsch. "Smoothing by spline functions." Numer. Math. 10 (1967), 177–183.
Historial de versiones
Introducido antes de R2006a