Logo Studenta

Interpolación funciones

¡Estudia con miles de materiales!

Vista previa del material en texto

APROXIMACIÓN DE FUNCIONES DISCRETAS (Ajuste de Funciones)
FUNCIÓN DE INTERPOLACIÓN
Será una función que pasará exactamente por los puntos que optendremos como datos, tal y como se representa en la siguiente gráfica:
 
						 P(x)
			 P2
						
						P4
	 
 P1 
				 P3
		a b
	
	Este tipo de funciones se utilizan en temas relacionados con el control, debido a que minimizo el error en un punto concreto (error mínimo puntual).
INTERPOLACIÓN DE LAGRANGE
	Queremos optener una función P(x) que pase por los puntos que tenemos.
			Pn(xi) = yi 
	En un principio , nos centraremos en allar una función de primer grado: P1(x)
P1(x) = a0 +a1x 
y0 = a0 +a1x0		
y1 = a0 + a1x1 a0 = ( y1- a0) / x1 
			 a1 = ( y1-y0) / (x1-x0)
P1(x) = (x-x1)y0/(x0-x1) – (x-x0)y1/(x1-x0) 
P1(x) = L0y0 + L1y1 Polinomio de 1º de Lagrange 
Generalizando dicha función para un grado ‘n’ obtendríamos lo siguiente:
			 n
		Pn(x) = Li(x) yi	 
	 i=0
	 n 
Li(x) = (x-xj) / (xi-xj)
	 j=0
	 ji	
 	
POLINOMIO DE LAGRANGE
	Para el cálculo de dicho polinomio utilizaremos el siguiente programa:
program int_lagrange;
 type
 lista=array [1..10] of real;
 var
 lista1,lista2,lista3:lista;
 punto,i:integer;
 valor:real;
 procedure introducir_datos (var lista1,lista2:lista;punto:integer);
 var
 punto1,punto2:real;
 i:integer;
 begin
 for i:=1 to punto do
 begin
 writeln ('Introduce el valor de X',i-1,':');
 readln (punto1);
 lista1 [i]:=punto1;
 writeln ('Introduce el valor de Y',i-1,':');
 readln (punto2);
 lista2 [i]:=punto2;
 end;
 end;
 procedure calcular (var lista3:lista;lista1,lista2:lista;punto:integer;valor:real);
 var
 i,j:integer;
 cal,cal1,resultado:real;
 begin
 for i:=1 to punto do
 begin
 cal:=1;
 cal1:=1;
 for j:=1 to punto do
 if (j<>i) then
 begin
 cal:=cal*(valor-(lista1 [j]));
 cal1:=cal1*(lista1 [i]-lista1 [j]);
 end;
 lista3 [i]:=cal/cal1;
 end;
 resultado:=0.0;
 for i:=1 to punto do
 resultado:=resultado+(lista3 [i]*lista2 [i]);
 writeln ('EL RESULTADO ES: ',resultado);
 end;
 begin
 writeln ('Introduce la cantidad de puntos:');
 readln (punto);
 writeln ('Introduce el valor donde quieres realizar el calculo:');
 readln (valor);
 introducir_datos (lista1,lista2,punto);
 calcular (lista3,lista1,lista2,punto,valor);
end.
Para probar el funcionamiento del programa introduciremos los siguientes ejemplos logrando resultados satisfactorios:
EJEMPLO 1:
	i
	0
	1
	2
	xi
	2
	2.5
	3
	F(xi) = yi
	0.69315
	0.91629
	1.09861
	Realizando el cálculo para:		X = 2.3
	RESULTADO = 0.8319324
EJEMPLO 2:
	i
	0
	1
	2
	3
	xi
	0
	0.1
	0.3
	0.6
	F(xi) = yi
	1.00000
	1.10517
	1.34986
	1.82212
	Realizando el cálculo para:		X = 0.14
	RESULTADO = 1.15025136
	El intervalo [a,b] contiene todos los ordenados Xi ,además, la f(x) y todas sus derivadas hasta (n+1) son sus continuas. El error cometido al reemplazar f(x) por P(x) de grado n para cualquier valor X en [a,b].
		|f(x) – Pn(x)| (x-x0)(x-x1)... (x-xn)f(n+1)()/(n+1)!
	Tomando como el caso más desfavorable. ( [a,b] )
	Siguiendo con el EJEMPLO 1 ,el calculo del error se realizaría del siguiente modo:
	|lnx – P2(x)| = (x-2)(x-2.5)(x-3) f ’’’() / 3!
	X = 2.3 |lnx – P2(x)| = (2.3-2)(2.3-2.5)(2.3-3) 2 / 3 3! =
					 = 0.00175
	Teniendo en cuenta que el peor caso es : x0= 2 ( x [a,b] )
APROXIMACIÓN DE FUNCIONES 
DISCRETAS
 
(Ajuste de Funciones)
 
 
 
FUNCIÓN DE INTERPOLACIÓN
 
 
Será una función que pasará exactamente por los puntos que 
optendremos como datos, tal y como se representa en la siguiente 
gráfica:
 
 
 
 
 
 
 
 
 
 
 
 
 
P(x)
 
 
 
 
 
P
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
P4
 
 
 
 
 
P1 
 
 
 
 
 
 
P3
 
 
 
 
 
 
a b
 
 
 
 
 
Este tipo de funciones se utilizan en temas relacionados con 
el control, debido a que minimizo el error en un punto concreto 
(error 
mínimo puntual).
 
 
 
INTERPOLACIÓN DE LAGRANGE
 
 
 
 
Queremos optener una función P(x) que pase por los puntos 
que tenemos.
 
 
 
 
Pn(x
i
)
 
= y
i 
 
 
 
En un principio , nos centraremos en allar una función de 
primer grado: P
1
(x)
 
 
APROXIMACIÓN DE FUNCIONES 
DISCRETAS (Ajuste de Funciones) 
 
 
FUNCIÓN DE INTERPOLACIÓN 
 
Será una función que pasará exactamente por los puntos que 
optendremos como datos, tal y como se representa en la siguiente 
gráfica: 
 
 
 
 
 P(x) 
 P2 
 
 P4 
 
 P1 
 P3 
 
 
 
 a b 
 
 
 Este tipo de funciones se utilizan en temas relacionados con 
el control, debido a que minimizo el error en un punto concreto 
(error mínimo puntual). 
 
 
INTERPOLACIÓN DE LAGRANGE 
 
 
 Queremos optener una función P(x) que pase por los puntos 
que tenemos. 
 Pn(xi) = yi 
 
 En un principio , nos centraremos en allar una función de 
primer grado: P1(x)