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)