Sunteți pe pagina 1din 6

Interpolacin Polinomial

Interpolacin, significa encontrar un valor intermedio entre dos o mas puntos base
conocidos, las cuales se pueden aproximar mediante polinomios de primer, segundo,
tercer o grados superiores

f(x1)
f1(x)
f(x0)

x0

x1

Como se conoce solamente dos puntos de la funcin f(x), esto se puede unir mediante
una recta como se observa en la figura anterior.
El objetivo principal de la interpolacin polinomial es estimar los valores funcionales
para uno o ms valores de la variable independiente desconocida, a partir de un
conjunto de datos discretos de una funcin dada, es as que a continuacin se presenta la
definicin y algunos mtodos de interpolacin.
Definicin.- Dado n+1 puntos de una funcin f:RR, un polinomio P de grado menor
o igual a n que pasa por cada uno de los n+1 puntos dados, es llamado polinomio
interpolador de f.
25

Polinomio de grado2

20

15
Grados
10

5
5

10

15

20

Hora

En general el polinomio puede escribirse como:


P(x)=anxn+ an-1xn-1++ a2x2+ a1x1+ a0
Ajuste polinmico de curvas.- Matlab utiliza el mtodo de los mnimos cuadrados
para realizar el ajuste de curvas a travs de un polinomio, considerando para ello un

conjunto de datos tabulados de la curva. Los coeficientes del polinomio se pueden


determinar utilizando el comando polyfit. Por ejemplo:
X
0
1
2
4
y
1
1
7
61
>> x=[0 1 2 4];
>>y=[1 1 7 61];
>>a= polyfit(x,y,3)
a=
1.0000 0.0000 -1.0000
>> plot(x,y)
>> hold on
>> ezplot('x.^3-x+1',0,4)
>> grid

1.0000

Para evaluar el polinomio a en un valor, se utiliza el comando polyval


>>xi=3;
>>yi=polyval(a,xi)
yi =
25.0000
>> plot(xi,yi,'or')

POLINOMIOS DE INTERPOLACIN CON DIFERENCIAS DIVIDIDAS DE


NEWTON.
INTERPOLACIN LINEAL.- La forma ms simple de interpolacin es la de
conectar dos puntos con una lnea recta. Este mtodo, llamado interpolacin lineal, se
muestra en la siguiente figura (usando semejanza de tringulos), se tiene:

f(x1)
f1(x)
f(x0)

x0

x1

f 1 ( x) f ( x 0 )
x x0

f ( x1 ) f ( x 0 ) x1 x 0
f 1 ( x) f ( x 0 ) f ( x1 ) f ( x 0 )

x x0
x1 x 0

De donde se tiene que:

f 1 ( x) f ( x 0 )

f ( x1 ) f ( x 0 )
( x x0 )
x1 x 0
1

La cual es una formula de interpolacin lineal. La notacin f (x) indica que se trata de
1

una interpolacin de primer orden. Tambin f (x) se puede expresar de la siguiente


manera:

f1 ( x ) a0 a1 x
f1 ( x0 ) a0 a1 x0 y0 ................(1)
f1 ( x1 ) a0 a1 x1 y1.................( 2)

Resolviendo (1) y (2) se encuentra los valores de

a0 y a1

MATLAB cuenta con un comando para la interpolacin lineal. El comando interp1


i

determina el valor funcional de una abscisa especificada denominada por x


interpolando linealmente a partir de la tabla de la funcin. En interp1 se aplica
i

interpolacin lineal a cada intervalo de datos. La abscisa x tambin puede ser un vector
de valores de x especificados. La sintaxis es:
yi=interp1(x,y,xi)
x es un arreglo columna de los datos, y es un arreglo columna de los datos, ambos
arreglos deben tener el mismo numero de filas, pero pueden tener mas de una columna,
como alternativa de interp1 puede escribirse:
yi=interp1(x,y,xi,linear) resultado de la interpolacin lnea
yi=interp1(x,y,xi,spline) interpolacin con un trazo cubico
>> x=[2 3 5 7 8];

abscisas de puntos (x,y)

>> y=[3.2 4.1 5.8 6.4 6.3];

ordenadas de los puntos

>> z=3.2;

valor para interpolar, z puede ser un vector

>> u=interp1(x,y,z,linear)
>> plot(x,y)
>> hold on
>> plot(z,u,'or')
>> grid on

resultado de la interpolacin lineal

>> hold off


>> u= interp1(x,y,z,spline)

interpolacin con un trazador cbico

>> a=polyfit(x, y, 2);

polinomio de mnimos cuadrados de grado 2

>> a

el vector a contiene los coeficientes

Mtodo de serie de potencies:


Este mtodo construye el polinomio interpolador reemplazando los puntos en el
polinomio P(x) de orden n-1seguidamente se resuelve el sistema de ecuaciones
generado, hallando de esta manera sus coeficientes.
Algoritmo
function serie
fprintf('\n');
x=input('ingrese los valores de x:');
y=input('ingrese los valores de y:');
n=length(x);
V=ones(n,n);
x=x';
y=y';
for j=2:n
V(:,j)=x.*V(:,j-1);
end
a=V\y
z=x(1):0.2:x(n);
imagen=a(n);
for i=n-1:-1:1
imagen=a(i)+z.*imagen;
end
plot(z,imagen)
grid

Ejemplo
Encuentre el polinomio interpolador de los datos (-2,10), (-1,4), (1,6) y (2,3)
>> serie
ingrese los valores se x:[-2 -1 1 2]
ingrese los valores se y:[10 4 6 3]
a=
4.5000
1.9167
0.5000
-0.9167

Luego el Polinomio interpolador es.


-0.9167x3+0.5x2+1.9167x + 4.5

INTERPOLACIN DE LAGRANGE
La interpolacin de Lagrange es una alternativa a la forma de serie de potencias de los
polinomios de interpolacin.
Con la formula de interpolacin de Lagrange no hay necesidad de resolver ecuaciones
lineales, e incluso permite la interpolacin de los valores funcionales.
Algoritmo
function fi=lagran_(x,f,xi)
fi=zeros(size(xi));
np1=length(f);
for i=1:np1
z=ones(size(xi));
for j=1:np1
if i~=j,
z=z.*(xi-x(j))/(x(i)-x(j));end
end
fi=fi+z*f(i);
end
return
Ejemplo: se tiene los siguientes datos (-2,10), (-1,4), (1,6) y (2,3). Encuentre el Y para
el valor de x=0;
Solucin.
>> x=[-2 -1 1 2];
>> f=[10 4 6 3];
>> xi=[0];
>> fi=lagran_(x,f,xi)
fi =
4.5000

S-ar putea să vă placă și