Interpolacion con spline cubico
MATLAB trae implementada la función spline para la interpolación por splines cúbicos. El comando
yy = spline(x,y,xx)
efectúa la interpolación de lanube de puntos dada por los vectores x, y por medio de splines cúbicos. En la salida (variable yy) obtenemos los valores del spline evaluado en los puntos dados en el vector xx. Si y es una matriz, lainterpolación se realiza para cada fila de y.
Por ejemplo, el listado
x = 0:10; y = sin(x);
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)
dibuja unaaproximación a la gráfica de la función sen (t) a partir de la interpolación con splines cúbicos.
Nota: Un resultado análogo se puede obtener con la función interp1: yy = interp1(x,y,xx,'spline');vea más detalles en la ayuda del programa.
Por defecto, se usan las condiciones "not-a-knot" (es decir, los nodos interiores extremos son pasivos). Sin embargo, si el vector y contiene dosvalores más que el x, entonces el primer y el último elemento del vector y se usan como valores de la derivada en los nodos extremos, y el spline construido es el sujeto.
Por ejemplo, el listadox = 0:10; y = sin(x);
ys=[-1, y, 5]; % Agregamos dos valores
xx = 0:.25:10;
yy = spline(x,ys,xx);
plot(x,y,'o',xx,yy)
dibuja una aproximación a la gráfica dela función sen (t) a partir de la interpolación con splines cúbicos sujetos, con pendientes -1 y 5 en los nodos 0 y 10, respectivamente.
Problema 1 Ejecute los dos listados anterior paracomprobarlos; dibuje las gráficas de los dos splines sobre el mismo sistema de coordenadas para observar sus diferencias.
Aumente la cantidad de nodos en [0,10] hasta 50 y vuelva a construir las gráficasaproximadas.
Problema 2 Evalúe la función
|f(t)= |10 log (t2+t+1) |
| | |
| | |
| | |
| |...
Regístrate para leer el documento completo.