You are on page 1of 80
230 Cap. 4 INTERPOLACION Y APROXIMAGION POLINOMIAL Las gréficas de y = cos(z) junto con las de los polinomios y = P3(z) e y = Pa(z) se muestran en las Figuras 4.12 (a) y (b), respectivamente. . Términos y cotas del error Es importante el entender la naturaleza del término del error que se comete cuando se utiliza un polinomio interpolador de Lagrange para aproximar una funcién f(z). Este término, como veremos enseguida, es similar al término del error para el polinomio de Taylor; el tinico cambio es que el factor (x — zo)** que allf aparecta se sustituye por el producto (x — 0)(# — 21) ---(t ~ 2); lo que resulta esperable ya que la interpolacién es exacta en cada uno de los N+1 nodos zy, donde se verifica que Ey (xx) = f(rx) — Py(zk) = Ye — Ye = 0 para k=0,1,2,. Teorema 4.3 (Polinomio interpolador de Lagrange). Supongamos que f © ON+1a,b] y que 2, 21,---,~ € [a,b] son N +1 nodos de interpolacién. Si x € [a, bj, entonces (4) F(z) = Py(x) + Ex(2), donde Py(zr) es un polinomio que podemos usar para aproximar f(z): So (15) F(a) © Pw(2) = Do f(en)Lval2), = llamado polinomio interpolador de Lagrange de f para los nodos dados, y el término del error Hxy(z) se puede escribir como _ (= 2)(2— 21) --- (a — aw) S(O) (16) Ey(e, (We Dl . para algin valor ¢ = c(z) del intervalo (a, 0]. Demostracién. Probaremos, a modo de ejemplo, la relacién (16) cuando N = 1 y discutiremos el caso general en los ejercicios. Empezamos definiendo una funcién auxiliar g(¢) de la siguiente manera (t= 20)(t = 21) an a(t) = 1) - Pal) - a) Ey SEC. 4.3 INTERPOLACION DE LAGRANGE 231 Hagamos notar que 2,29 y 21 son constantes con respecto a la variable ¢ y, también, que g vale cero en estos tres puntos; esto es, (2 ~ to) ~ 21) (@= a0)(z = 21) 9(20) = f(o) — Pa(zo) — F(z) 9(z) = f(z) — Piz) - Fa(z) = f(z) — Pilz) - FAG Ff (20) — P,(zo) = 0, . (21) = f(e1) — Par) — FA) £ (21) — Pi (a1) =0. Supongamos, sin pérdida de generalidad, que z esté.en el intervalo abierto (zo, 21). Aplicando el teorema de Rolle a g(Z) en el intervalo [xo, x], obtenemos un punto do, con 2 < do < z, tal que (18) g' (do) = 0. Volviendo a aplicar el teorema de Rolle a g(t) pero en el intervalo [2,21] , obtenemos un punto dy, con z < d; < 24, tal que (19) 9 (di) = 0. Las relaciones (18) y (19) prueban que la funcidn g/(t) es cero en t = do y t= dy. Volviendo a usar el teorema de Rolle, pero esta vez aplicado a g/(t) en [do, dy], obtenemos un valor c € [a,b] tal que (20) g'(c) =0. : Volviendo a la relacién (17) y calculando las derivadas g'(t) y g/(#), nos queda (t= a0) + (tm) (= 20)@—a1) * (21) g(t) = f'() - Pi — Ex(z) 22) (i) =f" ()-0- Ae) — —; (22) WH =f'O i) aso ed donde hemos usado el hecho de que, por ser P;(t) es un polinomio de grado N = 1, su segunda derivada es P/’(i) = 0. Evaluando la expresién (22) en el punto t=c y usando (20), se verifica 2 (23) 02/0) — legen de donde podemos despejar E(x) para obtener la expresién dada en (16): ety nita=! ay)f Oo) lo que completa la prueba. . 232 Cap. 4 INTERPOLACION ¥ APROXIMACION POLINOMIAL El siguiente resultado aborda el caso especial en el que los nodos del poli- nomio interpolador de Lagrange estan equiespaciados, 2, = x0 + hk para k = 0, _N, y el polinomio Py(z) se utiliza s6lo para interpolar en el intervalo (zo, ty]. Teorema 4.4 (Cotas del error para la interpolacién de Lagrange con nodos equiespaciados). Supongamos que f(z) est definida en un inter valo [a,b], que contiene los nodos equiespaciados , = to + hk. Supongamos ademés que f(z) y sus derivadas, hasta la de orden 4, son continuas (por tanto, acotadas) en el subintervalo [xo, x1]; es decir, (25) [fF (x) >P=poly (2) P= 1-2 >>Q=poly (3) Qe 1-3 >>conv(P,Q) an -5 6 Asti que el producto de P(x) por Q(x) es Programa 4.1 (Polinomio interpolador de Lagrange). Construccién | del polinomio interpolador de Lagrange P(r) = Dio yeLy.e(z) que pasa | por los N +1 puntos (zx, yx) para k =0,1,..., 4 236 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL function [C,L]=lagran(X,¥) % Datos % - X es un vector que contiene la lista de las abscisas % - Y es un vector que contiene la lista de las ordenadas % Resultados h - C es la matriz que contiene los coeficientes del h polinomio interpolador de Lagrange % - Les la matriz que contiene los coeficientes de los % polinomios coeficientes de Lagrange =length(X) ; n=w-1; Lezeros(w,w); ¥, Formacién de los polinomios coeficientes de Lagrange att for for jetinti if kn V=conv(V,poly(X(5)))/(XCe)-K(5)) 5 end end L(k, :)=V5 end ¥, Célculo de los coeficientes del polinomio 4% interpolador de Lagrange caYeL; Ejercicios a 1. Determine, en los siguientes casos, el polinomio interpolador de Lagrange para aproximar la funcién f(z) = 2°. (a) El polinomio lineal P;(z) para los nodos 2p = —1 y 21 = 0 (b) El polinomio cuadratico P;(z) para los nodos 9 = —1, 2: = Oy t2 (c) El polinomio citbico Ps(z) para los nodos zo = —1, 21 = 0; 22 ty =2. (d) El polinomio lineal Q:(2) pare los nodos to = 1 y +1 (e) El polinomio cuadrético Q2(z) para los nodos to = 0, 21 = 1 ¥ t2 2. Sea f(z) =2+2/z. (a) Use el polinomio interpolador de Lagrange cuadrético con nodos Zo a, =2y 2 = 2.5 para aproximar (1.5) y f(1.2). i i SEc. 2 a - Sean Lyol(2), Lya(2),-. y L. 4.3 INTERPOLACION DE LAGRANGE 237 (b) Use el polinomio interpolador de Lagrange cuadratico con nodos x9 = 0.5, a =1, 22 =2y 23 = 2.5 para aproximar f(1.5) y f(1.2). . Sea f(z) = 2sen(nz/6) (con el Angulo medido en radianes). (a) Use el polinomio interpolador de Lagrange cuadrdtico con nodos a = 0, a, =1y 22 =3 para aproximar f(2) y f(2.4). (b) Use el polinomio interpolador de Lagrange cuadratico con nodos a = 0, 2, =1, 22 =3y 29 =5 para aproximar f(2) y f(2.4). . Sea f(x) = 2sen(mz/6) (con el Angulo medido en radianes). (a) Use el polinomio interpolador de Lagrange cuadratico con nodos 9 = 0, 2, =1y 2 =3 para aproximar f(4) y f(3.5). (b) Use el polinomio interpolador de Lagrange ciibico con nodos 7» = 0, a, =1, 22 =3y 23 =5 para aproximar f(4) y f(3.8). . Escriba, para las siguientes funciones f(z), el término del error Es(z) del polinomio interpolador de Lagrange ciibico con nodos zp = —1, 7, = 0, 22 =3 yu=4 (a) f(x) =429 —32+2 (b) f(x) = 24 — 228 (c) f(e) =25 — 524 . Sea f(z) = 27. (a) Determine el polinomio interpolador de Lagrange cuadrético P,(z) para los nodos 20 = 1, 21 = 1.25 y #2 = 1.5. (b) Use el polinomio calculado en el apartado (a) para estimar el valor medio de f(z) en el intervalo [1, 1.5]. (c) Use la expresi6n (27) del Teorema 4.4 para hallar una cota del error que se produce al aproximar f(x) mediante P3(z). . Consideremos los polinomios coeficientes de Lagrange Lo,,(x) que se usan para calcular el polinomio interpolador de Lagrange cuadratico con nodos 19, 71 ¥ @2. Se define 9(z) = Loo(x) + Le,1(@) + Lo,a(z) - 1. (a) Pruebe que g es un polinomio de grado menor o igual que dos. (b) Pruebe que g(zx) = 0 para k = 0,1,2. (c) Pruebe que 9(z) = 0 para todo z. Indicacién. Use el teorema fundamental del algebra. (z) los polinomios coeficientes de Lagrange :@y-1 ¥ zy. Pruebe que Cy Lw.e(z) = 1 para los V +1 nodos 29, 21, para cualquier nimero real =. . Sea f(z) un polinomio de grado menor o igual que N. Sea Py(z) el poli- nomio interpolador de Lagrange de f(z) de grado menor o igual que N para los N +1 nodos zo, a1, -.., zw. Pruebe que f(z) = Py(z) para todo z. Indicacion. Pruebe que el término del error Eyv(z) es idénticamente cero. 238 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL 10. Consideremos la funcién f(z) = sen(z) en el intervalo (0, 1]. Use el Teorema 4.4 para determinar el tamafio de paso correspondiente h para el cual (a) el polinomio de interpolacién de Lagrange lineal tiene una precisién de 10-8 (0 sea, halle h tal que |E:(z)| <5 x 10-7). (b) el polinomio de interpolacién de Lagrange cuadrético tiene una precision de 10-® (0 sea, halle h tal que |E2(z)| < 5 x 10-7). (c) el polinomio de interpolacién de Lagrange ctibico tiene una precisién de 10-8 (0 sea, halle h tal que |E3(z)| < 5 x 10-7). 11. Partiendo de la formula (16) con N = 2 pruebe la desigualdad (27). Sean 1 =z +h, 22 =o + 2h. Para ello, pruebe que si zo < 7 < x2 entonces 3 | — olla — 2||2—22| < a Indicacién. Usando las sustituciones t = z—21,t+h=2—-aoyt-h=2—22, considere la funcién v(t) = ¢3 — th? en el intervalo —h < t < A; resuelva v'(t) =0 para hallar el maximo y despeje, en funcién de h, el valor de ¢ en el que se alcanza dicho méximo 12. Interpolacién lineal bidimensional. Consideremos el plano cuya ecuaci6n viene dada por z = P(x,y) = A+ Br + Cy que pasa por los tres puntos (+0, yo; 20), (71,4121) y (w2,y2, 22). Entonces los coeficientes A, B y C son la solucién del sistema lineal A+ Bay +Cyo A+Bn+Cy aa A+Bn+Cp=n (a) Determine A, B y C de manera que z = P(z,y) pase por los puntos (1,1,5), (2,1,3) y (1,2,9). (b) Determine A, B y C de manera que z = P(z,y) pase por los puntos (1,1,2.5), (2,1,0) y (1,2,4). (c) Determine A, B y C de manera que z = P(z,y) pase por los puntos (2,1,5), (1,3,7) y (3,2,4) (d) jEs posible hallar A, B y C de manera que z = P(z,y) pase por los puntos (1,2, 5), (3,2, 7) y (1,2,0)? ~Por qué? 18. Use el Teorema 1.7, el teorema de Rolle generalizado, y la funcién auxiliar Phe ee (t= 20)(t—m1)-- (t= 2) a(t) = #(8) — P(t) — Ena) oe ay donde Py/(z) es el polinomio interpolador de Lagrange de grado N, para probar que el término del error Ex(z) = f(2) — Py(2) puede escribirse como fe Ey(e) = (~ 20)(2~ 21) (@ ay) ay Sc. 4.4 POLINOMIO INTERPOLADOR DE NEWTON 239 Indicacién. Calcule g(+1)(t) y evalie esta funcién en el punto t = c cuya existencia garantiza el teorema citado. Algoritmos y programas — 1. Use el Programa 4.1 para hallar los coeficientes del polinomio interpolador del Problema 2(i), apartados (a), (b) y (c), de la subseccién “Algoritmos y programas” de la Seccién 4.2. Esboce en un mismo dibujo las gréficas de cada funcién y del correspondiente polinomio interpolador. 2. En la siguiente tabla se muestran temperatures que fueron medidas cada hora, durante un lapso total de 5 horas, en Sevilla un dia 27 de octubre. (a) Use el Programa 4.1 para construir el polinomio interpolador de Lagrange correspondiente a los datos de la tabla. (b) Use el Algoritmo 4.1(iii) para estimar la temperatura media durante el perfodo de 5 horas dado. (c) Dibuje los datos de la tabla y el polinomio del apartado (a) en el mismo gréfico y discuta el error que puede aparecer al usar dicho polinomio para estimar la temperatura media. Hora | Grados (Celsius) 13 18 4 18 15 17 16 16 17 16 18 | 14 Polinomio interpolador de Newton Hay ocesiones en las que resulta util construir varios polinomios aproximantes P,(2), P2(z), ..., Py(z) y, después, elegir el mas adecuado a nuestras necesi- dades. Si usamos los polinomios interpoladores de Lagrange, uno de los inconve- nientes es que no hay relacién entre la construccién de Py_1(z) y la de Py(z); cada polinomio debe construirse individualmente y el trabajo necesario para calcular polinomios de grado elevado requiere hacer muchas operaciones. Va- mos a seguir ahora un camino de construccién distinto, en el cual los polinomios 240 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL interpoladores, que se llamardn de Newton, se calculan mediante un esquema recursivo (y P,(z) = a9 + a1(z — 20); (2) P(x) = dg + a1( — ao) + aa(a — 20)(e — 21), (3) P3(z) = do + a1(z — 29) + aa(z — 20)(e — 21) + a3(2 — 9)(2 — 21)(z — 2); (4) Pryy(z) = a9 + a1(z — 9) + aa(z — 0)(t — 21) + a3(% — 29)(z — 21)(z — 22) + a4(z — 20)(a — a1)(a — 22)(2— 23) + °° + ay(x — 29)(x — 21)(a — aa) -+-(t — By-1). El polinomio Py (2) se obtiene a partir de Py—1(z) usando la recurrencia (8) Py(w) = Py-a(z) + aw(2 — 20)(@ — 21)(@ — 2) ++: (2 — N-1)- En este marco se dice que el polinomio Py(z) dado en la formula (4) es un polinomio de Newton con N centros 20, 21, -.., Zy-1- Puesto que Px(z) involucra sumas de productos de factores lineales, siendo an(z — 2)(z — 21)(z — 22) -»-(@ —TN-1) el de mayor grado, esté claro que Py(z) es un polinomio de grado menor 0 igual que NV. Ejemplo 4.10. Dados los centros 7 = 1, 21 = 3, 22 =4y a3 = 45 y los coeficientes ay = 5, a; = —2, a2 = 0.5, a3 = —0.1 y ag = 0.003, vamos a calcular Pi(z), P2(z), Ps(a) y Pa(z) y a evaluar P,(2.5) parak=1,2,3y¥ 4. Usando las formulas (1) a (4), tenemos Pi(z) =5-2(e-1), Px(z) = 5 —2(x — 1) +0.5(2 — 1)(2- 3), Py(z) = P;(z) — 0.1(2 — 1)(@ - 3)(e-4), Py(z) = Ps(z) + 0.003(2 — 1)(@ — 3)(@ — 4)( - 4.8). Ahora evaluamos estos polinomios en = 2.5 y obtenemos (1.5) 1.625, = P,(2.5) — 0.1(1.5)(-0.5)(—1.5) = 1.5125, P,(2.5) = P3(2.5) + 0.003(1.5)(—0.5)(—1.5)(-2.0) = (-0. (-0. 50575. . nacelle ties SEC. 4.4 POLINOMIO INTERPOLADOR DE NEWTON 241 Multiplicacién encajada Si N est fijo y tenemos que evaluar el polinomio Py(z) varias veces, entonces deberfamos usar multiplicaciones encajadas. El proceso es similar a la regla de Ruffini para polinomios escritos en su forma habitual; la diferencia reside en que a la variable independiente x hay que restarle los centros zy. El esquema de multiplicaciones encajadas para P,(z) es (8) P(x) = ((a3(@ — 22) + @2)(x — 21) + a1)(2 — 20) + a0; de manera que, si deseamos evaluar P;(z) para un valor dado de <, entonces operamos desde dentro hacia afuera formando sucesivamente las cantidades: S3 = a3, S2 = S3(a— 22) + a2, 51 = S:(r—-m1)+a1, So = S1(a — a0) + a0; (7) esta tiltima cantidad Sp es P;(z). Ejemplo 4.11. Vamos a calcular el valor de Ps(2.5), que aparecié en el Ejem- plo 4.10, usando el esquema de multiplicaciones encajadas. Usando la férmula (6), eseribimos Py(z) = ((-0.1(@ — 4) +0.5)(2 — 3) — 2)(2- 1) +5, luego los valores de (7) son: Ss = -0.1, Sq = —0.1(2.5 — 4) +0.5 = 0.65, Sy, = 0.65(2.5 — 3) — 2 = 2.325, So = —2.325(2.: + 5125, ¥, por tanto, Ps(2.5) = 1.5125. . Aproximacién por polinomios: nodos y centros Supongamos que queremos encontrar los coeficientes ax de todos los polinomios P,(z), ..., Py(z) que nos sirven para aproximar una funcién dada f(z). En- ronces cada P,(z) es el polinomio de Newton que tiene como centros los puntos Zo, Z1, -.., Tk y es también el polinomio de interpolacién para los nodos zo, 21, +; Dee. Para el polinomio P; (z), los coeficientes ap y a; tienen un significado familiar; en este caso, se tiene que (8) Pi(to) = feo) y Pa(zi) = F(z) 242 Cap. 4 INTERPOLACIGN Y APROXIMACION POLINOMIAL De modo que, usando (1) y (8), podemos despejar a y obtener (9) F (x0) = Pi (#0) = a0 + a1 (#0 — 20) = ao. Por tanto, ao = f (zo). A.continuacién, usando (1), (8) y (9), tenemos f(a1) = Pi (a1) = a0 + a1 (21 — #0) = f(a0) + 01(21 — 20); de donde podemos despejar a1: f(e1) = f(@0) (10) ey Por tanto, a; es la pendiente de la linea recta que pasa por los puntos (0, /(70)) y (21, f(22))- Los coeficientes ao y a; son los mismos para P;(x) y P2(2) ast que, para continuar, ahora evaluamos la expresién (2) en el nodo x2 y obtenemos ay (a2) = Pa (x2) = a0 + a1(22 — 20) + a2(t2 — 20)(Z2 — 21) Usando en (11) los valores de ag y a1 calculados en (9) y (10), nos queda £ (x2) — a0 ~ a1(a2 ~ Zo) (2 — 20)(@2 — 1) . (dix feo _ fle) =He3}) fase 22-2 —2o a, = que, por motivos computacionales, escribimos mejor como me (ee _ £(@) =f) ie pia) @— 21 1 — Zo (12) Es facil probar que las dos formulas dadas para a2 son equivalentes: basta es- cribir las fracciones poniendo su denominador comin (r2—21)(%2—20)(t1 20); detalles que dejamos como ejercicio. El numerador de (12) es la diferencia entre un cociente de diferencias; vamos a precisar esta idea de diferencias divididas, que seré la herramienta con la cual podremos continuar el proceso recursivo. Definicién 4.1 (Diferencias divididas). Las diferencias divididas de una funcién f(z) se definen como: (ze) = f(ze), [= sles) flrn—1, 2%] Te — Tk-1 (18) r e—1, Te] — f[e—2, 2e-1) Flexo, 4-1, 24) = eee tel = Stace Zk — Tk-2 + Flee, a1) te] — flees, Te-2, Te-1] flea; k—2)Th-1; Th] = Plena, th-1y Bal = fltenss tea Bes] Tk — Te-3 x ul oD RCT As a a pcre naa BoD coadninaace 7” Ab a al dalam nL cael la SEC. 4.4 POLINOMIO INTERPOLADOR DE NEWTON 243 Tabla 4.8 Tabla de diferencias divididas para y = f(z). serived.| at Tbe Ita 1 Sawn a zo | Fito] z | fla) | fizz] za | flea] | fizz | flzo,zi2al Za f{zs] f{z2, 23] f{z1,22, 23] f{vo, 21,22, 23] x | fled | fzoed | flezseq | fleenzsz) | fleoeeneszd Las diferencias divididas de orden superior se forman de acuerdo con la siguiente regla recursiva: mjtay-+-y tH] — fitness (14) flan js te—j4ts-- +s Ta] = Lleanjeay sth) — flthgy tana] | Zk —TK-j regla que se usa para construir la Tabla 4.8 de diferencias divididas. a Los coeficientes a, de los polinomios Py(z) dependen de los valores de interpolacién (xj) (con j = 0, 1, ..., k); el siguiente teorema establece que ag puede calcularse usando las diferencias divididas de f(z): (15) Oy = f[zo,21,...,2%]- Teorema 4.5 (Polinomio interpolador de Newton). Supongamos que Zo, Z1, -.-., Zy son N +1 niimeros distintos en [a,b]. Entonces existe un tinico polinomio Py (x) de grado menor o igual que N tal que flay) = Py paraj=0,1,...,N. La forma de Newton de este polinomio interpolador es (16) Py(x) = a9 + a1(z — 20) + +--+ an(a — 2o)(a — a1) ++: (2 — 2-2); siendo ay = f[vo, 11,...,%] para k=0, 1,..., N. Observacién. Si {(2j.y;)} Yu es un conjunto de puntos cuyas abscisas son todas distintas, entonces los valores f(z;) = yj pueden usarse para construir el unico polinomio de grado menor o igual que V que pasa por los NV +1 puntos dados. Corolario 4.2 (Aproximacién de Newton). Supongamos que Py(z) es el polinomio interpolador de Newton dado en el Teorema 4.5 y que lo usamos para aproximar la funcién f(z), esto es, (17) f(z) = Py(z) + Ew(z). 244 CaP. 4 INTERPOLACION Y APROXIMACION POLINOMIAL Tabla 4.9 Tabla de diferencias divididas del polinomio del Ejemplo 4.12. diferencia | diferencia | diferencia | diferencia | diferencia Primera | Segunda | Tercera Cuarta Quinta zy | flee] | _dividida oral dividida | dividida | dividida =| | 0 3 15 | 15 6 48 33, 9 1 105 | 87 2 fogel 0 192 | 87 15 L 1 0 0 si f € C%*1[a, b], entonces para cada x € (a, 6] existe un mimero ¢ = ¢(z) en (a,b), tal que el término del error puede escribirse como (= a0)(@ — 21) ++ (2 — ay) f'8*Y() (V+ Il : (18) Ey(z) = Observacién. El término del error Ey(z) es, naturalmente, el mismo que el del polinomio interpolador de Lagrange que vimos en la formula (16) de la Seccién 4.3. Resulta interesante partir de una funcién polinomial f(x) de grado N ya conocida y calcular su tabla de diferencias divididas; en este caso sabemos que f(N+0)(z) = 0 para todo z, y el céleulo nos permitiré comprobar que la dife- tencia dividida (NV + 1)-ésima también es cero. La razén, aparte de la expresion del error, es que la diferencia dividida (14) es proporcional a una aproximacion numérica de la derivada j-ésima. Hjemplo 4.12. Sea f(z) = 2° — 4x. Vamos a construir la tabla de diferencias divididas para los nodos zo = 1, a = 2, .... 25 = 6 y a calcular el polinomio interpolador de Newton P3(x) para los nodos zo, 21, #2 ¥ 3- Los cdlculos se muestran en la Tabla 4.9. Los coeficientes de P;(z) aparecen en la diagonal de la tabla de diferencias divididas y valen, respectivamente, a = —3, a; = 3, a7 = 6 y ag = 1. Los centros r = 1, 2; = 2 ¥ 22 = 3 son los valores dispuestos en la primera columna, as{ que, de acuerdo con la formula (3), podemos escribir Py(z) = -3 + 3(x — 1) + 6(e — 1)(2 — 2) + (2 - lz 2(e@-3). Ejemplo 4.13. Vamos a construir ahora la tabla de diferencias divididas de la fancién f(z) = cos(z) para los puntos (k,cos(#)), con k =0, 1, 2, 3y 4. Luego la q SEC. 4.4 POLINOMIO INTERPOLADOR DE NEWTON 245 Tabla 4.10 Tabla de diferencias divididas usada para construir los polinomios interpoladores de Newton P,(x) en el Ejemplo 4.13. Bi flea) fl] Hale (oth ade ths eaned 1.0000000 ] | 0.5403023 | —0.4596977 | | —0.4161468 | —0.9564491 | —0.2483757 —0.9899925 | —0.5738457 0.1913017 0.1465592 —0.6536436 0.3363499 0.4550973 | _0.0879318 | ~0.0146568 usaremos para calcular los coeficientes ax y los cuatro polinomios interpoladores de Newton P,(z), para k= 1,2, 3y 4. Hemos redondeado a siete cifras decimales, en aras de la simplicidad, los valores calculados, que se muestran en la Tabla 4.10. Podemos usar los nodos zo. 21, £2 ¥ 3 y los elementos diagonales a9, a1, a2, a3 ¥ ag de la Tabla 4.10 en la férmula (16) para escribir los cuatro polinomios interpoladores de Newton P,(z) = 1.000000 — 0.4596977(« — 0.0), Pp(z) = 1.000000 — 0.4596977(x — 0.0) — 0.2483757(z — 0.0)(z — 1.0), Pa(x) = 1.0000000 — 0.459697 (zx — 0.0) — 0.2483757(a — 0.0)(x — 1.0) +0.1465592(2 — 0.0)(x — 1.0)(x — 2.0), P4(z) = 1.0000000 — 0.4596977(« — 0.0) — 0.2483757(a — 0.0)(x — 1.0) + 0.1465592(2 — 0.0)(a — 1.0)(x — 2.0) ~ 0.0146568(z — 0.0) (2 — 1.0)(2 — 2.0)(a— 3.0). Veamos con un ejemplo cémo se calcula el coeficiente a2. — 0:5403023 — 10000000 _ Fak, 8 ey f[zo, 21] = TO = 00 0.459697, f{z1, 29] = eee = -0.9564491, —0.9564491+ 0.4596977 _ 20-00 —0.2483757 2 = f[zo, 21,22] = Las gréficas de la curva y = cos(z) y las de los polinomios y = Pi(z), y= P2(z) e y = Py(z) se muestran en las Figuras 4.14 (a), (b) y (c), respectivamente 1 246 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL -0.5 1.0 Figura 4.14 (a) Gréfica de y = Figura 4.14 (b) Gréfica de y = cos(z) y del polinomio interpolador cos(z) y del polinomio interpolador de Newton lineal y = P(x) para los de Newton cuadratico y = Pa(z) para nodos x = 0.0 ¥ 71 = 1.0. los nodos zo = 0.0, 1 = LOy m2 = 2.0. MATLAB Para realizar los célculos con un computador, las diferencias divididas de la Tabla 4.8 se almacenan en una matriz cuyos elementos podemos llamar D(k, j), de manera que (19) D(k,j) = flze—j,Te—j+1s-+-,Te] Parag Sk. La relacién (14) se emplea entonces para calcular recursivamente los elementos de la matriz: (20) D(k,j) = D(k,j — poet -1lji- i) rod, Hagamos notar que el valor del coeficiente ag dado en (15) es, por tanto, el elemento diagonal correspondiente a, = D(k.k). Con estos elementos damos a continuacién el algoritmo para calcular las diferencias divididas y escribir Py(z) en la forma habitual. En el Problema 2 de la subseccién “Algoritmos y programas” se sugiere la manera de modificar el algoritmo de forma que los coeficientes {a,} se calculen usando un vector, lo que es més conveniente, en términos del gasto de memoria del computador, que usar una matriz. SEC. 4.4 POLINOMIO INTERPOLADOR DE NEWTON 247 Figura 4.14 (c) Grdfica de y = cos(z) y del polinomio interpo- lador de Newton cibico y = Pa() para los nodos 9 = 0.0, 21 = 1.0, 22 =20y 23 =3 1 Programa 4.2 (Polinomio interpolador de Newton). Construccién del polinomio interpolador de Newton de grado menor o sacval que NV que | | pasa por los puntos (zx, ys) = (rk; f(ze)) para k= 0, 1, | (21) P(z) = doo + dia (a — 20) + do,2(a — 20)(a — 21) | +t dy,n(@— 2)(z — 21) ---(t—ty-2), siendo dgj—t — dho1 jot dko=Ye Y deg Tk — hj function [C,D]=newpoly(X,¥) i % Datos £ h - X es un vector con la lista de las abscisas % - Y¥ es un vector con la lista de las ordenadas % Resultados ‘ % - C es un vector que contiene los coeficientes % del polinomio interpolador de Newton, escrito % de forma habitual, en potencias decrecientes de x h - Des la tabla de diferencias dividides q n=length(X)5 é D=zeros(n,n); DC: ,1)=¥75 F Usamos la #érmula (20) para hallar % la tabla de diferencias divididas DC, j-1)-DCs-1, j-1)) / (ACK) -K(e-j+1)) 5 ¥ t 248 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL end 4 CAlculo del vector que contiene los coeficientes % del polinomio interpolador de Newton, escrito % de forma habitual, en potencias decrecientes de x C=D(n,n); for k=(n-1):-1:1 C=conv(C,poly(X(k))); m=length(C) ; C(m)=C(m)+D(k,k) 5 end Ejercicios eae En los Ejercicios 1 a 4, use los centros 9, 21, £2 ¥ 23 y los coeficientes ap, a1, a2, a3 ¥ a4 que se dan para hallar los polinomios interpoladores de Newton P;(z), P2(z), P(x) y P,(z) y calcule los valores de estos polinomios en z = c. Indicacién. Use las relaciones (1)-(4) y las técnicas del Ejemplo 4.9. a2=04 a3=0.01 ag =—0.002 ma45 c= 25 a3 =—0.1 a4 = 0.003 a3 =3 c= 2.5 a3 =0.05 ag=—0.04 wga4 “a=3 a3 =0.06 a4 = 0.005 ag = c=2 En los Ejercicios 5 2 8: (a) Calcule la tabla de diferencias divididas para la funcién tabulada. (b) Escriba los polinomios interpoladores de Newton P;(x), P2(), Pa(z) y Pa(z)- (c) Calcule los valores de los polinomios hallados en el apartado (b) en los puntos z que se dan. (d) Compare los valores obtenidos en el apartado (c) con los valores de la funcién f(z). Sxc. 4.4 POLINOMIO INTERPOLADOR DE NEWTON 249 5. F(a) =a? 6. f(z) =3.6/z 2=25,3.5 ko) te | F(t) kK | oe | f(a) 0 | 4.0 | 2.00000 0 | 10 | 360 1 | 5.0 | 2.23607 1 | 20 | 180 2 | 6.0 | 2.44949 2 | 3.0 | 120 3 | 7.0 | 2.64575 3 | 4.0 | 090 4 | 8.0 | 2.82843 4 0.72 T (w2/6) 8. f(z) =e* 5, 3.5 2=0.5,1. kL ae |f(ex) k | oz | fe) 0 | 0.0 | 0.00 0 | 0.0 | 1.00000 1 | 10 | 0.75 1 | 10 | 0.36788 2 | 20 | 2.25 2 | 20 | 0.13534 3 | 3.0 | 3.00 3 | 3.0 | 0.04979 4 | 40 | 225 4 | 40 | 0.01832 9. Consideremos M +1 puntos (zo, yo), ..-, (240,ym)- (a) Pruebe que si las (V + 1)-ésimas diferencias divididas son cero, entonces todas las siguientes hasta la M-ésima son también cero. (b) Pruebe que si las (V + 1)-ésimas diferencias divididas son cero, entonces existe un polinomio Py(z) de grado N tal que Py(te)=ye para k=0, 1, ..., M. En los Ejercicios 10 a 12, use el resultado del Ejercicio 9 para calcular el polinomio Py(z) que pasa por los M +1 puntos (N < M) 10... Fj 11. T Tk | Vk Tk Uk 0 |-2 + 8 1 2 2/17 2 4 3 | 24 3 4 4 | 29 4 2 5 | 32 5 | -2 6 | 33 13. Use el Corolario 4.2 para hallar una cota del maximo error |Ey(z)| que se co- mete en el intervalo (0, 7] cuando usamos el polinomio interpolador de Newton 250 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL Ph(a) para aproximar f(2) = cos(rz) en los centros 2 = 0, #1 = 7/2 ¥ m=. Algoritmos y programas 1. Use el Programa 4.2 y repita el Problema 2 de la subseccién “Algoritmos y programas” de la Seccién 4.3. 2. Enel Programa 4.2 la matriz D se emplea para almacenar la tabla de diferencias divididas. (a) Compruebe que la siguiente modificacién del Programa 4.2 es una forma equivalente de calcular el polinomio interpolador de Newton. 4:4 AC) = (AK) “A Ck-1)) / (X00) -K C5) end (b) Repita el Problema 1 usando esta modificacion del Programa 4.2. 4.5 Polinomios de Chebyshev (opcional) Nos centramos ahora en el polinomio que interpola una funcién f(z), definida en [-1, 1], construido con los nodos ~1 < zp < 2, < ++: 1. Propiedad 3. Simetria Cuando N = 2M, el polinomio Tz4(z) es una funcién par; esto es, (4) Tam (-2) = Tou (2). Cuando N = 2M +1, el polinomio Tzy~1(x) es una funcién impar; esto es, (5) Thu+1(-2) = —Taw+i(2)- Propiedad 4. Representacién trigonométrica en [—1, 1] (6) Tr (x) = cos(N arceos(z)) para -1<2-1, dondea e** cos (on *) = 0.04379392. Pa) =O Por tanto, el polinomio de Chebyshev Ps(z) para e* es (24) Py(z) = 1.266065687o(x) + 1.130315007; (z) + 0.27145036T2(z) + 0.04379392T3(2) Al escribir el polinomio de Chebyshev de (24) en potencias de z, el resultado es P3(x) = 0.99461532 + 0.998933242 + 0.54290072z? + 017517568", que, naturalmente, coincide con el polinomio V(z) del Ejemplo 4.14. Si nuestro objetivo es hallar el polinomio de aproximacién de Chebyshev, entonces es preferible usar las formulas (22) y (23). . MATLAB En el programa que damos a continuacién se emplea la instruccién eval en vez de la instruccién feval, que ha sido empleada en programas anteriores. La instruccién eval interpreta una cadena de caracteres como una expresién funcional. Por ejemplo, las siguientes instrucciones permiten evaluar la funcién coseno en los puntos z = k/10 para k = 0, 1,..., >> x=0:.1:.53 >> eval(?cos(x)’) ans = 1.0000 0.9950 0.9801 0.9553 0.9211 0.8776 E F SEC. 4.5 POLINOMIOS DE CHEBYSHEV 261 Programa 4.3 (Aproximacién de Chebyshev). Construccién y de- terminacidn del polinomio de interpolacién de Chebyshev de grado N en el intervalo [a, 5] para los nodos b (k+Un) a+b 2N+2 : 2 EI polinomio viene dado por function [C,X,Y]=cheby(fun,n,a,b) % Datos % - fun es la funcién que deseamos aproximar, h dada como una cadena de caracteres h - nes el grado del polinomio de aproximacién % - aes el extremo izquierdo h - bes el extremo derecho % Resultados h - C es la lista de coeficientes del polinomio y - X contiene las abscisas de los nodos h - Y contiene los valores de fun en los nodos if nargin==2, a=-1;b=1;end d=pi/(24n+2) ; C=zeros(1,n+1); for k=1:ntt K(k) =cos((2*k-1) *d) ; end ‘b-a) *X/2+(atb) /2; for k =1:n+1 z=(24e-1) +d; for j=i:m+t C(j)=C(j)#¥ (x) *cos ((j-1)*z) ; BIBLIOTECA end FACULTAD aaah Cs. BUCTS, INGENIERA Y AGRIMENSURA ROSARIO C=2C/(n+1) ; C(1)=C(1)/25 - 262 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL Ejercicios ay aap e 10. 11. |. Consideremos la fun Use la Propiedad 1 para (a) construir Ts(z) a partir de Ts(z) y Ta(z)- (b) construir Ts(z) a partir de Ts(z) y Ta(2)- |. Use la Propiedad 1 para (a) construir Tq(2) a partir de Ts(z) y Ta(2)- (b) construir T;(x) a partir de To(2) ¥ Ts(2) | Use el método de induccién matemética para probar la Propiedad 2. _ Use el método de induccién matemética para probar la Propiedad 3. Determine los valores méximo y minimo de Ta(a) en el intervalo [~1, 1] "Determine los valores maximo y minimo de Ta(2) en el intervalo [-1,1] Indicacién. T}(1/2) = 0 y T3(—1/2) = 0. | Determine los valores maximo y minimo de T,(z) en el intervalo [~1,1]. Indicacidn. T;(0) = 0, Ty(2-¥/?) =0 y Ty(—2-/*) = 0. n f(z) = sen(z) en el intervalo [—1, 1]. (a) Use los polinomios coeficientes de la Tabla 4.13 para obtener el polinomio de aproximacién de Lagrange-Chebyshev Ps(z). (b) Determine una cota del error | sen(z) — Ps(2)|- . Consideremos la funcién f(z) = In(z + 2) en el intervalo (-1,11- (a) Use los polinomios coeficientes de la Tabla 4.19 para obtener el polinomio de aproximaciGn de Lagrange-Chebyshev Ps(z). (b) Determine una cota del error | n(x +2) ~ Pa(=)|- El polinomio interpolador de Lagrange de grado V = 2 es f(x) = f (ao)L2.o(2) + Flar)La,1(2) + f(za)L2a(2)- Pruebe que si se utilizan los nodos de Chebyshev to = cos(5r/6), a = 0¥ 2 = cos(77/6), entonces los polinomios coeficientes son: x, 2s? L20(z) = =e > 2 I2a(z) =1- aS way oe L2,2(z) = Verret Consideremos la funcién f(z) = cos(z) en el intervalo (~1, 1]. (a) Use los polinomios coeficientes del Ejercicio 10 para obtener el polinomio de aproximacién de Lagrange-Chebyshev P2(z)- (b) Determine una cota del error | cos(z) — Pa()| jab he eaten SU as SEC. 4.6 APROXIMACIONES DE PAD, 263 12. Consideremos la funcién f(z) = e* en el intervalo [-1, 1]. (a) Use los polinomios coeficientes del Ejercicio 10 para obtener el polinomio de aproximacién de Lagrange-Chebyshev P,(z). (b) Determine una cota del error |e* — P,(2)|. En los Ejercicios 13 a 15, compare, determinando las cotas del error, el polinomio de Taylor con el polinomio de aproximacién de Lagrange-Chebyshev para la funcién f(z) en (-1, 1). 13. f(z) =sen(z) y N = 7; el polinomio de Lagrange-Chebyshev es sen(x) ~ 0.99999998z — 0.1666639927 + 0.008329952° — 0.000192972". 14. f(z) =cos(z) y N= ; el polinomio de Lagrange-Chebyshev es cos(z) & 1 — 0.49999734x? + 0.041645352* — 0.001346082°. 15. f(z) =e" y e® = 0.99999980 + 0.99999998z + 0.500006342? + 0.166667372° + 0.041635042* + 0.008329842° + 0.001439252° + 0.0002039927. el polinomio de Lagrange-Chebyshev es n 6. Pruebe la relacién (18). 17. Pruebe la relacién (19). Algoritmos y programas En los Problemas 1 a 6, use el Programa 4.3 para calcular los coeficientes {ck} del polinomio de aproximacién de Chebyshev Py(z) para la funcién dada f(z) en [-1, 1] y los grados (a) N =4, (b) N =5, (c) N=6y (d) N =7. En cada caso, dibuje conjuntamente f(x) y Py(z). L f@)=e 2. f(x) = sen(z) 3. f(z) = cos(z) 4. f(a) =In(2 +2) 8. f(z) = (+2)? 6. f(z) =(e +2) 7. Use el Programa 4.3 (con NV = 5) para aproximar el valor de f} cos(z?) dz. Aproximaciones de Padé En esta secci6n introducimos la nocién de aproximacién racional a una funcién. Nos planteamos dar férmulas que nos permitan aproximar una funcién f(2) 264 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL sobre una porcién pequeiia de su dominio. Por ejemplo, es suficiente con apro- ximar f(x) = cos(z) en el intervalo [0, 7/2] ya que, en ese caso, podemos usar las identidades trigonométricas para calcular cos(z) para cualquier valor de z que no esté en el intervalo [0,7/2]. Una aproximacién racional a f(z) en (a, 6] es un cociente de dos polinomios Py(z) y Qie(z) de grados Ny M, respectivamente. Denotaremos dicho cociente por Ry,«(2) Px) pera aca Sb. Qu(z) (a) Ry, (2) Nuestro objetivo es hacer el error maximo tan pequeiio como podamos. Para un mimero fijado de operaciones, suele ser posible hallar una aproximacién racional cuyo error, medido a lo largo de (a, 8], es menor que el de cualquier aproximacién polinomial. El desarrollo que haremos es introductorio y se limi- tard a las aproximaciones de Padé. El método de Padé requiere que f(x) y su derivada sean continuas en 1 = 0. Existen dos razones para trabajar en el punto x = 0: en primer lu- gar, las manipulaciones algebraicas suelen ser més simples y, en segundo lugar, siempre podemos usar un cambio de variable para reformular nuestro problema y trabajar sobre un intervalo en el que esté el punto cero. Los polinomios que se usan en (1) los escribiremos como (2) Pry-(a) = po + iz + paz? +--+ po™ y (8) Qulz) =14+q2+ a0? +--+ aue™. Los polinomios que aparecen en (2) y (3) se construyen de manera que (2) y Ry,u(z) coincidan en 2 = 0 y lo mismo ocurra con sus derivadas hasta las de orden N + M. En particular, cuando Qo(z) = 1, la aproximacién es simplemente el desarrollo de Maclaurin de f(x). Una vez fijado el valor V+M, puede probarse que el error es menor cuando Py(z) y Qu(c) tienen el mismo grado o bien cuando el grado de Py(z) es una unidad més que el grado de Qu(a). Hagamos notar que hemos impuesto que el término constante de Qv sea qo = 1, lo que es permisible porque no puede ser cero y el cociente Rv,3(z) 20 cambia si dividimos Py(x) y Q(z) por la misma constante. En consecuen- cia, la funcidn racional Ry,.4(2) tiene N + M + 1 coeficientes desconocidos. Supongamos que f(z) es analitica y que su serie de Maclaurin es (4) f(a) = a9 +ayz tage? +--+ + aga* +. 4} SEC. 4.6 APROXIMACIONES DE PapE 265 y formemos la diferencia f(2)Qs(z) — P(x) = Z(z): oo Mt N oo (8) (=) See) Lew = Yaya. J=0 450 j=0 5=NEM41 El subindice que hemos puesto en el simbolo de la suma del miembro derecho de (3) es j = M+N+1 porque las N + M primeras derivadas de f(z) y Rw,u(z) deben coincidir en x = 0. Si efectuamos la multiplicacién en el miembro izquierdo de (5) e igualamos a cero los coeficientes de las potencias de a/ para k = 0, 1,..., N+M, obtenemos un sistema de N + M +1 ecuaciones lineales: 9 — Po =0 | +4:-P, =0 (6) 209 + G01 +42 —p2=0 939 + 9201 + 9142 +43 —p3 =0 Quan—m + QM—14n-Mi1++--+an—pw =0 qM@n—M+1 + QM-14N—M+2 t°°' + HON +ayi1 =0 quan—ui2+QM—14N-M+st-77+ ane. +4n+2 =0 (7) qman +aM—-14ne1 0 te +H aN+M—-1 + 4N+M =0. Hagamos notar que en cada ecuacién se verifica que la suma de los subindices de los factores de cada producto es el mismo y que su suma va creciendo desde 0 hasta N-+M. Las M ecuaciones que aparecen en (7) s6lo involucran las incégnitas 1, q2,-..,du ¥ son las que hay que resolver en primer lugar, luego se utiliza su solucién en (6) para calcular po, p1,-..+Py- Ejemplo 4.17. Vamos a establecer la aproximacién de Padé Rg,q de la funcién coseno: 15120 — 69002? + 3132¢ 15120 + 6602? +1327” En la Figura 4.18 se muestran las graficas de cos(z) y de R4,«(z) en [ Si usamos el desarrollo de Maciaurin de cos(z) tendremos un sistema de nueve ecuaciones con nueve incégnitas. En vez de hacer eso, podemos darnos cuenta de que tanto cos(z) como R4,4(z) son funciones pares asi que sus desarrollos sélo tienen potencias de x? y podemos simplificar los cdlculos partiendo de f(z) = cos(z‘/?): Sey ee 720° ~ 40,320 (8) cos(z) © Ry.4(z) = (9) f= 266 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL Figura 4.18 Las gréficas de y = cos(z) y de su aproximacion de Padé Ry (z). Entonces, la ecuacién (5) para este caso es a it ig Sd ( — 3+ aq" ~ 720” * 20320 = 04 0x +02? + 02% +02" +c52° + cg +--+. a) (t+ q12-+ 0904) — po — Pit — pas Comparando los coeficientes de las cinco primeras potencias de x, obtenemos el sistema de ecuaciones lineales: 1-p=0 1 Sphaam =0 he (10) Bret eoma0 z 1 1 720 +. oat = qn =0 soe 1 Be 40320 720% * 24% = Debemos empezar resolviendo las dos tiltimas ecuaciones de (10), para lo que las escribimos como mat _-1 n-o=s ¥ —% +3002 = Fes que resolvemos sumando ambas ecuaciones para despejar g2 y hallando luego qx: ; Fu cis VIS (iy) Brae (% 3) = 75120’ 1 156 11 © = 39 * 15120 ~ 252° f b I F Sec. 4.6 APROXIMACIONES DE Papi 267 Ahora usamos las tres primeras ecuaciones de (10): Obviamente, pp = 1 y, con los valores qi ¥ g2 ya obtenidos en (11), podemos despejar p, ¥ pa: et Say 72 + 352 =~ 250" ria SHE AMT ais ma 4 504 * 15120 ~ 15120" Finalmente, construimos la aproximacién racional a f(z) con los coeficientes dados en (11) y (12): (12) P= 1 — 1152/252 + 31327/15 120 a3) fee 1+ 112/252 + 1327/15 120 ” Dado que cos(z) = f(x), sustituimos z por 2? en la formula (13) y obtenemos la funcién deseada Ry «(z) que aparecia en (8). . Aproximacién de Padé en forma de fraccién continua Para evaluar en un punto la aproximacién de Padé R,(z) del Ejemplo 4.17 hace falta realizar un minimo de doce operaciones aritméticas, pero es posible reducir este mimero a siete usando fracciones continuas. Para ello partimos de (8) y hallamos el cociente y el resto de la divisién: 15 120/313 — (6900/31)? + <* 20/13 + (660/13)2? +2 313 = 280 12.600/823 + 2? 169 15 120/13 + (600/13)2? + 2* ) * Raa(z) = 13 Realizamos de nuevo el proceso usando el segundo factor del resto del paso anterior: _ 313 296 280/169 Real) = Ty ~ Figo /i3 = (660/13)a2 > 12.600/823 + x? _ 313 296 280/169 ~ 18 379380 420 078 960/677 329° 10699” ~ 12600/823+ a2 Escribiendo las fracciones como decimales para realizar los cdlculos obtenemos: (14) Ra(x) = 24.07692308 Se SS areo ee 35.45938873 + x? + 620.19928277/(15.30984204 + 2”) 268 CaP. 4 INTERPOLACIGN ¥ APROXIMACION POLINOMIAL “10 -05 00 05 10 0:000025 0.000020 0.000015 2x 10-7 y= Eg) 0.000010 | 0.000005 -3 x 10-7 [ se 0) Figura 4.19 (a) Grafica del error E(x) = cos(z) — Rs(2) de la aproxi- macién de Padé Raa(z). (b) Grdfica del error Ep(z) = cos(z) — Ps(z) de la aproximacién de Taylor Ps(z). Para evaluar (14), empezamos calculando y almacenando 2°; luego, procede- mos desde la esquiina inferior derecha del denominador con la secuencia: suma, divisién, suma, suma, divisién y resta. Por tanto, basta con siete operaciones aritméticas para evaluar R44(z) cuando se escribe como la fraccién continua dada en (14) Podemos comparar Ry,4(z) con el polinomio de Taylor Ps(z) de grado N = 6, que también se evaliia haciendo siete operaciones cuando se usa la regla de Ruffini: ‘“ J ea ee (18) P(x) = 142 ( 3t2"(s- ap? = 1 +27(—0.5 + 27(0.0416666667 — 0.0013888889z7)). Las gréficas de Ep(z) = cos(x) — Ra,a(z) y Ep(x) = cos(x) — Po(z) en [1,1] se muestran en las Figuras 4.19(a) y (b), respectivamente; all{ vemos que los errores més grandes se alcanzan en los extremos y valen Ep(1) = —0.0000003599 y Ep(1) = 0.0000245281, respectivamente. El tamaiio del error més grande de Ra4(2) es, mas o menos, el 1.467% del tamaiio del error mds grande de Ps(z). La aproximacién de Padé es mucho mejor atin en intervalos mas pequefios; asi, por ejemplo, en el intervalo [—0.1, 0.1] encontramos que Ep(0.1) = —0.0000000004 y que Ep(0.1) = 0.0000000966, de manera que el tamaiio del error Ry,4(z) es, més 0 menos, el 0.384% del tamaiio del error de Ps(z). Sec. 4.6 APROXIMACIONES DE PaDé 269 Bjercicios ———— 1. Establezca la aproximacién de Padé: 2+ ee Ria(z) = aa 2. (a) Determine la aproximacién de Padé Ri1(z) para f(x) = In(1 + 2)/z. Indicacién. Trabaje a partir del desarrollo de Maclaurin: tee f@)=l-5ty- Use el resultado del apartado (a) para establecer la aproximacién (b; 6r +2? In(L+2) © Roa(z) = ee 3. (a) Determine R;,:(c) para f(z) = tan(x!/?)/21/?, Indicacién. Trabaje a partir del desarrollo de Maclaurin: 22? z f(z) Siete set (b) Use el resultado del apartado (a) para establecer la aproximacién ba — 23 tan(2) © Reale) = oS 4. (a) Determine Ri.:(z) para f(z) = arctan(2!/?)/2'/?. Indicacién. Trabaje a partir del desarrollo de Maclaurin: 2 ee fe) 1-545 -- (b) Use el resultado del apartado (a) para establecer la aproximacién 152 + 40% arctan(2) © Raa(z) =o (c) Exprese la funcién racional Rs,2(z) del apartado (b) como una fraccién continua. 5. (a) Establezca la aproximacién de Padé: * 12+6c+2? f= Ralt)= Bera (0) Exprese la funcién racional Rz,2(e) del apartado (a) como una fraccién continua. 270 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL 6. (a) Determine la aproximacién de Padé Ro,2(z) para f(z) = In(1 + 2)/z- Indicacidn. Trabaje a partir del desarrollo de Maclaurin: (b) Use el resultado del apartado (a) para establecer la aproximacién 30a + 212? + 29 In(L +2) & Reale) = 30 T G6e + oF (c) Exprese la funcién racional Rs,2(z) del apartado (b) como una fraccién continua. 7. (a) Determine Re,2(z) para f(z) = tan(2'/?)/z¥/?. Indicacién. Trabaje a partir del desarrollo de Maclaurin: 2a? 17a? | 62e4 of + 15” 315 " 2835 (b) Use el resultado del apartado (a) para establecer la aproximacién fe)=14 E+ 9452 — 1052° + 2° tan(z) ~ Fs.«(2) = S45 apa? + Toa* (c) Exprese la funcién racional Rs,«(z) del apartado (b) como una fraccién continua. 8. (a) Determine Raa(z) para f(z) = arctan(z/?)/z"/?. Indicacién. Trabaje a partir del desarrollo de Maclaurin: 2 5 2 f@)=1-F+ (b) Use el resultado del apartado (a) para establecer la aproximacién 9452 + 7352° + 642 arctan(z) ~ Rs.«(2) = 975 —050a7 + D25z* Exprese la funcién racional Rs,4(z) del apartado (b) como una fraccién continua. (c) 9. Establezca la aproximacién de Padé: 120 + 60z + 122? + x 120 — 602 + 122? + 23 10. Establezca la aproximacién de Padé: e* & Ra,s(z) = 1680 + 8402 + 1802? + 202° + 2* © = Raa(t) = 650 ga0e + 1802? — 2023 + 24 Suc. 4.6 APROXIMACIONES DE PADE 271 Algoritmos y programas 1. Compare las siguientes aproximaciones a f(z) = e*. 2 «“ Taylor: Ta(z) =1+2+ Stak 12+62+2? Padé Ral) = 77 Geta? (a) Dibuje f(z), Te(x) y Rz,2(z) en un mismo grafico. (b) Determine el valor del error mds grande que se comete al aproximar f(z) por Ts(z) y Re,2(z), respectivamente, en el intervalo [—1, 1]. 2. Compare las siguientes aproximaciones a f(z) = In(1 +2). a a a flor: sae 24 2S Taylor: Tie) = 2-4 5-5 302 + 2127 + 28 30 + 362 + 92? uae 5 Padé: Rs2(z) = (a) Dibuje f(e), Z5(x) y Rs,2(z) en un mismo gréfico. (b) Determine el valor del error més grande que se comete al aproximar f(z) por T5(x) y Rs,2(x), respectivamente, en el intervalo [—1, 1]. 3. Compare las siguientes aproximaciones a f(x) = tan(z). Bo, Dae Sota Dae. Taylor: (2) 2+ 4+ + Se +e 9452 — 10525 + 2° 945 — 4202? + 15a* Padé: Rs,4(z) (a) Dibuje f(x), Te(z) y Rs,4(z) en un mismo grafico. (b) Determine el valor del error més grande que se comete al aproximar f(z) por To(z) y Rs,«(z), respectivamente, en el intervalo {—1, 1] 4. Compare las siguientes aproximaciones de Padé a f(z) = sen(z) en el intervalo [-1.2, 1.2]. Rgq(2) = 1683208 = 22.2602 + a 15(11 088 + 36427 479 24927 Rra(z) = 232%) (a) Dibuje f(z), Rs,4(z) y Rr.o(z) en un mismo grafico. (b) Determine el valor del error mas grande que se comete al aproximar f(z) por Rs,4(z) y Rr,9(z), respectivamente, en el intervalo [~1.2, 1.2]. 272 Cap. 4 INTERPOLACION Y APROXIMACION POLINOMIAL 5. (a) Use las ecuaciones (6) y (7) para construir las aproximaciones de Padé Re,e(z) y Re,s(z) para la funcién f(z) = cos(z) en el intervalo [-1.2, 1.2]. (b) Dibuje f(z), Re,e(z) y Rs,s(z) en un mismo grafico. (c) Determine el valor del error mas grande que se comete al aproximar f(z) por Re,6(z) y Rs,s(x), respectivamente, sobre el intervalo [—1.2, 1.2]. DGS IRY AE STINE me re LN ARSE IIT GOEL SITE ITB Ajuste de curvas Las aplicaciones de las técnicas numéricas a la ciencia y la ingenierfa con- sisten, a menudo, en ajustar una curva a datos experimentales. Por ejem- plo, en 1601 el astrénomo alemén Johannes Kepler formulé su tercera ley del movimiento planetario, T = Cx /?, donde z es la distancia al Sol medida en millones de kilémetros, T es el perfodo orbital medido en dias y C es una constante. Las parejas de datos (x, T) observados para los primeros cuatro pla- netas, Mercurio, Venus, La Tierra y Marte, son (58, 88), (108, 225), (150, 365) y (228, 687) y el coeficiente C obtenido por el método de los minimos cuadrados es C = 0.199769. La curva T = 0.199769z°/? y las parejas de datos se muestran en la Figura 5.1. 750 om T= 0.199769 x37 Figura 5.1 El ajuste en mt nimos cuadrados para los cua- tro primeros planetas, T = 0.1997692*/?, usando la tercera x ley de Kepler del movimiento pla- 50 100 150 200 netario 2507 273 5.1 274 Cap. 5 AJUSTE DE CURVAS Rectas de regresién en minimos cuadrados En la ciencia y la ingenierfa se da, a menudo, el caso de que un experimento produce un conjunto de datos (11,11);.--+(@N¥w), siendo las abscisas {t+} Gistintas entre si, Uno de los objetivos del cdlculo numérico es la determinacién Ge una formula y = f(z) que relacione las variables. Normalmente se dispone Ge una. clase de formulas previamente establecidas, y lo que hay que hallar son los valores més adecuados de unos coeficientes o de unos parémetros para estas formulas. Aunque hay muchos tipos distintos de funciones que podemos usar, suele ocurrir que existe un modelo matemético subyacente, basado en la Situacién fisica que se esté estudiando, que determina la forma de la funcién salvo algunos coeficientes. En esta seccién haremos hincapié en la clase de las fanciones lineales de la forma (6) y=f(z)=Ar+B. En el Capitulo 4 hemos visto cémo se construye un polinomio cuya gréfica pase por todos los puntos de un conjunto dado. Si todos los valores {24}, {vs} se conocen con una precisin de varias cifras significativas, entonces la interpo- lacién polinomial produce buenos resultados; lo que no ocurre en otras circuns- tancias. Algunos experimentos se llevan a cabo con una maquinaria especiali- zada que permite obtener los datos con varias cifras significativas de precisién; sin embargo, muchos experimentos se realizan con un equipamiento que propor- ciona los datos con una precisin de, como mucho, dos o tres cifras significativas ‘A esto se afiade, a menudo, un cierto error experimental en las mediciones de forma que, aunque se calculen tres o cuatro cifras de los valores {ax} © {ys} sucede que el valor exacto f(x) verifica (2) F (2k) = Ue + ee: donde ex es el error de medicién. ,Cémo encontramos la mejor aproximacién lineal de la forma dada en (1) que pase cerca (no por encima de cada uno) de los puntos? Para responder esta pregunta, hay que considerar los errores (también llamados desviaciones 0 residuos): (3) ek = f(te)—Ye para 1Skm Pruebe que el punto (Z,7) estd en la recta de regresién determinada por el conjunto de puntos dado. 282 Cap. 5 AJUSTE DE CURVAS 5. Pruebe que la solucién del sistema dado en (10) es cists 6 A 3(» dam sadn): i eae, Coe o-3(Saen-Ladan): ee siendo 2 Ea-(Ss) Indicacién. Use eliminacién gaussiana para resolver el sistema. 6. Pruebe que el valor del denominador D del Bjercicio 5 no es cero. Indicacién. Pruebe que D = N Dux (te - 2) 7. Pruebe que los coeficientes A y B de la recta de regresiéa pueden calcularse mediante el proceso que describimos a continuacién. En primer lugar se calcu- lan las medias aritméticas 7 e 7 definidas en el Ejercicio 4 y, en segundo lugar, se realizan los célculos siguientes: w x c= Dia, A= Ler -Mn-D, Bad Ae Indicacién. Use las variables X = z»—# e Ye = yey empiece determinando la recta Y = AX correspondiente a estas parejas de datos. 8. Determine los ajustes potenciales y = Az? e y = Ba? para las siguientes parejas de datos y use Ha(f) para decidir cuél se ajusta mejor. (a) (8) ae Tk Uk Tk Ur 20| 5.1 20| 5.9 2.3| 7.5 23| 83 2.6 | 10.6 2.6| 10.7 29/ 144 2.9 | 13.7 3.2 | 19.0 2 | 17. 9. Determine |os ajustes potenciales y = A/z e y = B/2? para las siguientes parejas de datos y use a(f) para decidir qué curva se ajusta mejor. ti emus ATE Hy RECTAS DE REGRESION EN MiNIMOS CUADRADOS 283 (b) Zk Ue Tk Uk 05) 71 0.7 os| 44 0.9 11] 32 Li 18] 19 16 40| 09 3.0 10. (a) Deduzca las ecuaciones normales de Gauss para calcular la recta que pasa por el origen y = Az que mejor se ajusta en el sentido de los minimos cuadrados. (b) Deduzca las ecuaciones normales de Gauss para calcular la parébola que pasa por el origen y = Ax? que mejor se ajusta en el sentido de los minimos cuadrados. (c) Deduzca las ecuaciones normales de Gauss para calcular la parabola con vértice en el eje de ordenadas y = Ax? + B que mejor se ajusta en el sentido de los mfnimos cuadrados. 11. Consideremos las rectas de regresién que se obtienen para cada uno de los conjuntos de datos Sv = {(4,(4)”)}1_,, donde N = 2,3,4,... Nétese que, para cada valor de V, todos los puntos de Sy estén en la grafica de f(z) =2? para z en [0,1]. Sean Zy e Jy las medias aritméticas de las parejas de datos de Sw (véase el Ejercicio 4). Sea Z la media de los valores de x en el intervalo [0, 1] y sea @ el valor medio de f(x) = 2? en el intervalo [0, {a) Pruebe que limyoo z. (b) Pruebe que limy—soo Tv 42. Consideremos las rectas de regresién que se obtienen para cada uno de los conjuntos de datos sen{(o-ohear(o-oh-—)K con N =2,3,4,... Seay = f(z) una funcién integrable en el intervalo cerrado [a,b]. Repita, en este caso, los apartados (a) y (b) del Ejercicio 11 Algoritmos y programas 1. La ley de Hooke establece que F = ke, siendo F la fuerza (en dinas) que es necesario ejercer para conseguir que un muelle se estire una longitud x (en centimetros) desde su posicidn de equilibrio. Use el Programa 5.1 para hallar una aproximacién a la constante del muelle k para los siguientes conjuntos de datos. 284 Cap. 5 AJUSTE DE CURVAS (a) aoe 0.2) 3.6 04) 7.3 0.6 | 10.9 0.8 | 14.5 1.0 | 18.2 2. Escriba un programa para aproximar la constante gravitacional g para los siguientes conjuntos de datos; utilice el ajuste potencial mostrado en el Ejem- plo 5.3. @ SoHBAA (By = Sea Tiempo, t,| Distancia, dy Tiempo, tk | Distancia, dy 0.200 0.1960 0.200 0.1965 0.400 0.7835, 0.400 0.7855 0.600 1.7630 0.600 1.7675 0.800 3.1345 0.800 3.1420 1.000 4.8975 1.000 4.9095 3. Los siguientes datos proporcionan las distancias desde los nueve planetas al Sol y su perfodo orbital —el tiempo que tardan en completar una drbita— en 4 dias. Distancia al Periodo orbital Planeta Sol (km x10°) (dias) Mercurio | 5 87.99 Venus 108.11 224.70 La Tierra 149.57 | 365.26 Marte 227.84 | 686.98 Jaipiter 778.14 4332.4 Saturno 1427.0 10759 Urano 2870.3 30684 Neptuno 4499.9 } 60188 Plutén 5909.0 90710 Modifique su programa del Problema 2, de manera que también calcule E2(/), y tselo para determinar el ajuste potencial éptimo en mfnimos cuadrados de la forma y = Cz°/? para (a) los cuatro primeros planetas y (b) los nueve planetas. 4. (a) Determine la recta de regresién para los datos {(zx, yr) }i2i, Siendo 2% = (0.1)k e yx = te + cos(k*/?). (b) Calcule E2(f) (c) Dibuje los datos y la recta de regresién sobre un mismo gréfico. eat hada eet Suc. 5.2 AJUSTE DE CURVAS 285 Ajuste de curvas El método de linealizacién de los datos para y = Ce4* Supongamos que queremos ajustar una curva exponencial de la forma qa) y= CeA® a un conjunto de puntos (x1, y1), (72, y2);---,(N, yn) dado de antemano. Para afrontar este problema, empezamos tomando logaritmos en (1): (2) In(y) = Az +In(C) y, a continuacién, hacemos un cambio de variable (y uno de constante) (3) Y=In(y), X=2 y B=m(C). Lo que se obtiene es una relacién lineal entre las nuevas variables X e Y: (4) Y=AX+B. Los datos originales (2,, yx) se han transformado, con el cambio de variables, en (Xk, Ye) = (x, 1n(yp)); @ este proceso lo llamamos método de linealizacién de los datos. El problema ahora es calcular la recta de regresién (4) para los puntos {(Xx, Yi)}, para lo que planteamos las correspondientes ecuaciones normales de Gauss a) (Es) (= x) fq NB = L% a1 (5) Una vez calculados A y B, hallamos el parémetro C de la relacién (1): (6) C=e*, Ejemplo 5.4. Vamos a usar el método de linealizacién de los datos para hallar un ajuste exponencial y = Ce4* a los cinco datos (0, 1.5), (1,2.5), (2.3.5), (3.5.0) y (4,7.5). Aplicando el cambio de variables (4) a los datos originales obtenemos (7) {(Xes¥i)} = {(0, in(1.8), (1, In(2.5)), (2, In(3.5)), (3, In(5.0)), (4, In(7.5))} = {(0,0.40547), (1, 0.91629), (2, 1.25276), (3, 1.60944), (4, 2.01490)}. 286 Cap.5 AJUSTE DE CURVAS ¥ 2.0 1.5 Y=AX+B 1.0 0.5, X Figura 5.4 Los datos linea- z i # 2 4 lizados {(Xx; ¥i)} Tabla 5.4 —Céleulo de los coeficientes de las ecuaciones normales de Gauss para los datos linealizados {(Xx; ¥x)}- ze Ue Xe Yi = In(ye) XE XiYi 0.0 15 0.0 0.408465 0.0 0.000000 1.0 25 1.0 0.916291 1.0 | 0.916291 20's she |p | wBo 1.252763 4.0 2.505526 3.0 5.0 3.0 1.609438 9.0 4.828314 4.0 15 4.0 2.014903 16.0 8.059612 16.0 6.198860 30.0 16.309743 | =Dm% | =r% ayext =DGY Los puntos transformados aparentan estar alineados, como se muestra en la Figu- ra 5.4, Vamos ahora a comprobar que la recta de regresin ¥Y = AX + B para los puntos calculados en (7) es: (8) Y = 0.391202X + 0.457367. Las operaciones necesarias para el cdlculo de los coeficientes de las ecuaciones nor- males de Gauss (5) se muestra en la Tabla 5.4. Las ecuaciones normales son, entonces, 304+ 10B = 16.309742 104+ 5B= 6.198860, cuya solucién es, como ya se ha dicho, A = 0.3912023 y B = 0.457367. Finalmente, ‘obtenemos el valor de C que es C = 9457367 = 1.579910. Sustituyendo los valores de Ay C en la relacién (1) obtenemos el ajuste exponencial (véase la Figura 5.5): (10) y = 1.5799106"9!0%52 (por el método de linealizacién de los datos). = (9) Sec. 5.2 AJUSTE DE CURVAS 287 Figura 5.5 El ajuste expo- nencial y = 1.579910e°99120252 obtenido con el método de linea- lizacién de los datos. El método no lineal de los minimos cuadrados para y = Ce4* Supongamos, como antes, que queremos ajustar una curva exponencial de la forma (11) . y=Cet* a un conjunto de puntos (21,41), (t2,y2),---,(Z,yn) dado de antemano. El método no lineal de los minimos cuadrados consiste en hallar el minimo de la funcién x (12) E(A, ©) = >> (Ce4** — yp)? i= Para ello, hallamos las derivadas parciales de E(A,C) respecto de A y C, (13) Had ete Sy,)(Crge*) y x a4) = 2) 0(Ced* — ya)(e4**), tet Al igualar a cero estas derivadas parciales (13) y (14) obtenemos, después de simplificar, las correspondientes ecuaciones normales (15) 288 Cap. 5 AJUSTE DE CURVAS La diferencia con el método de linealizacién de los datos reside en el hecho de que las ecuaciones (15) no son lineales para las inc6gnitas A y C. Podriamos resolver las ecuaciones normales (15) usando el método iterativo de Newton-Raphson, pero ello conlleva un mimero alto de operaciones, por no mencionar el hecho de que necesitariamos buenas aproximaciones iniciales de A y C. Muchos paquetes de programas incluyen, como subprogramas ya construidos, instrucciones que permiten minimizar funciones de varias variables y que podriamos utilizar para hallar el minimo de la funcién E(A,C) directamente. Uno de esos métodos es el de Nelder-Mead, que veremos en el Capitulo 8 y que tiene la ventaja de que no hace necesario el clculo de las derivadas parciales. Bjemplo 5.5. Vamos a usar el método no lineal de los minimos cuadrados para hallar el ajuste exponencial ptimo y = Ce4* para los cinco datos (0, 1.5), (1,2.5), (2,3.8), (3,5.0) y (4,7.8). Tenemos que minimizar la cantidad E(A,C) dada por E(A,C) = (C - 1.5)? + (Ce4 — 2.5)? + (Ce*4 — 3.5)? 16) Se + (Ce4 — 5.0)? + (Ce*4 — 7.5)”. Para aproximar los valores de Ay que minimizan E(A, C), usaremos la instrucci6n fmins del paquete de programas MATLAB. Primero hay que definir la funcién E(A,C) como un fichero de texto, digamos E.m, para que pueda ser usado con el paquete MATLAB. function 2=E(u) Aea(); C=u(2) 5 z=(C-1.5) .72+(C. *exp(A)-2.5) .“2+(C.*exp(2¥A)-3.5) . "2+... (C. exp (3#A)-5.0) .72+(C. exp (4*A)-7.5) "2; ‘Usando la instruccién fmins con los valores iniciales A = 1.0 y C = 1.0, obte- nemos >>fmins(’E’, [1 1]) ans = 0.38357046980073 1.61089952247928 De manera que el ajuste exponencial obtenido es (17) xy = 1.6108995e" 3895705 (ajuste por el método no lineal de los minimos cuadrados). Las soluciones obtenidas usando el método de linealizacién de datos y el método no lineal de los minimos cuadrados se comparan en la Tabla 5.5. Hay una ligera discrepancia en los coeficientes; si deseamos interpolar, es posible comprobar que ambas aproximaciones difieren en no ms del 2% a lo largo del intervalo [0, 4] (véanse la Tabla 5.5 y la Figura 5.6). Si los errores de los datos siguen una distribucién normal, entonces suele ser preferible usar (17). Cuando se realiza una extrapolacion Sec. 5.2 AJUSTE DE CURVAS 289 Tabla 5.5 Comparacién de los dos ajustes exponenciales. Zh | Ue 1,5799¢°01708 1.6109¢°-989572 oo | 15 1.5799 1.6109 1.0 25 2.3363 2.3640 20 | 35 3.4548 3.4692 3.0 0 | 5.0911 40 | 78 | 7ATIB 5.0 11.1716 10.9644 6.0 | 16.5202 16.0904 7.0 24.4293 23.6130 3.0 | 36.1250 34.6527 9.0 53.4202 50.8535 10.0 | 78.9955 74.6287 Z sof 60) 40 20 * Figura 5.6 Comparacién grafica 9 2 * 6 8 10 de las dos curvas exponenciales. en un punto exterior al rango de los datos, las dos soluciones se separan y su discrepancia aumenta hasta casi un 6% para z = 10. . Cambios de variable que linealizan los datos La técnica de linealizar los datos ha sido empleada frecuentemente pare ajustar curvas tales como y = Ce4*, y = Aln(z) + Be y = A/z + B a un conjunto de datos. Una vez elegido el tipo de curva, hay que realizar un cambio de variable adecuado de manera que las nuevas variables se relacionen linealmente. Por ejemplo, puede verificarse fcilmente que una relacién del tipo y = D/(z +C) se transforma en una relacién lineal Y = AX + B usando el cambio de variables 290 Cap. 5 AJUSTE DE CURVAS (y constantes) X = ay, ¥ =y, C =-1/Ay D = —B/A. En la Figura 5.7 se muestran las grAficas de varios tipos de curvas que pueden usarse y en la Tabla 5.6 se muestran algunos cambios de variable usados para linealizar datos. Combinaciones lineales en minimos cuadrados E] problema de las combinaciones lineales en minimos cuadrados puede formu- larse de la siguiente manera: Dados N puntos {(zk, yx)} y un conjunto de M funciones linealmente independientes {f,(z)}, se trata de encontrar M coefi- Cientes {c;} tales que la funcién f(z) definida como la combinacién lineal a as) fl) = efile) an minimice la suma de los cuadrados de los errores 4 (19) B(er,c2,.--s¢a) = Do(F (ex) — ye)? kat Para que E alcance un minimo en un punto, es necesario que cada derivada parcial en dicho punto sea cero (0 sea, JE/c; = 0 para i = 1, 2, ..., M), lo que equivale a que {c;} sea la solucién del sistema de ecuaciones lineales 45 62; ee x [ (4 (20) yo (e ote) # n) (file) =0 para i ma i= Intercambiando el orden de las sumas que aparecen en (20) obtenemos un sistema de ecuaciones lineales de orden M x M en el que las incégnitas son los coeficientes {cj}; estas ecuaciones reciben el nombre de ecuaciones normales (0, también, ecuaciones normales de Gauss): MPN x (21) $ (Senn) oy = Do filer), pata i= 1, 2, M. fet gat \e=t Formulacién matricial Aunque (21) es facilmente reconocible como un sistema de M ecuaciones lineales con M incégnitas, hay que prestar un poco de atencién para evitar realizar ope- raciones aritméticas innecesarias a la hora de escribir este sistema en notacion ceca cola Sec. 5.2 AJUSTE DE CURVAS 291 i T an ee pel =Aln() +B; A=2,B=2 =AIn(x) +B; A=-2,B=2 > A+B a” a pinion igs or e =n 1 2 aCe And a: yaOe, Azz. Cg 1 > A=4B 2" Geo 4 Figura 5.7 Tipos de curvas con las que puede usarse el método de linealizacién de los datos. 292 CAP. 5 AJUSTS DE CURVAS Tabla 5.6 Cambios de variable para linealizar los datos. Funcién, y = f(z) Linealizacién, Y = Az +B Cambios A 1 y= ee B X=5Y=y v=s0 X=2y,Y=y taaztB y ALAR: yz y=Aln(z)+B X=In(z),¥ =y y= Cet In(y) = Ar + In(C) X=2,¥ =ln(y), cae y=Cx4 In(y) = Aln(z) +ln(C) X =la(z),¥ =In(y), c= y= (Act B)? yl? =Act+B X=2Y=sy? y= Cxe7P* In (4) =-Dz+In(C) X=2,Y=hn @) C=, D=-A ) = Az +in(0) x-2y=n(2-2), v matricial. La clave est4 en darse cuenta de que la matriz F y su traspuesta F’, que damos a continuacién, juegan un papel fundamental: fila) felts) fu(zi) filt2) — fa(z2) fu(z2) F=| files) falts) -- fu(es) flew) falew) <-> fuan) Bivins cgi espe sesomene eon RI: a OTT NR ERNIE SURAT ONY Sec. 5.2 AJUSTE DE CURVAS 293 filti) flee) fits) --- flew) Pas fa(t1) falta) fala) +++ falzn) fu(t) f(a) fuc(zs) <> falew) Consideremos el producto de F’ por la matriz columna Y: fi(t:) filze) filws) +++ A(ew)] [um (22) pe fale) fala) falzs) nee falzw) m falar) fala) fuc(ts) --- flew) Lww, El elemento de la i-ésima fila del producto F’Y en (22) coincide con el elemento i-ésimo de la matriz columna que contiene los términos independientes en el sistema (21); esto es, a (23) DS fice) = flag F'- [yn we... yy)’ P= Ahora consideremos el producto F'F, que es la matriz de orden M x M: F'F= san Py fi(zr) fa(zx) +++ fae(a) RES AG RGR RES] [aed wed teen files) fa(zs) +++ falas) | fuc(or) fu(za) fules) fale)! | pee) Salen) << fuelen) El elemento que ocupa la posicion (i,j) en la matriz F’F coincide con el coeficiente de c; en la i-ésima ecuacién del sistema (21); esto es, y (24) So filen) fy(em) = fier) fy (02) + Alea) fy(@2) +--+ flew) fy(2w)- = Cuando M es pequedo, una forma computacionalmente eficiente de calcular los coeficientes Sptimos en minimos cuadrados de la combinacién (18) es almacenar la matriz F, calcular F'F y F’Y y, finalmente, resolver el sistema lineal (25) F'FC=F'Y — cuya incdgnita es C. 294 Car. 5 AJUSTE DE CURVAS Ajuste polinomial Cuando el método que hemos descrito inmediatamente antes se aplica al caso en el que tenemos M +1 funciones dadas por {f;(#) = 2i-}}, la funcién f(z) seré un polinomio de grado menor o igual que M: (26) f(z) =e tore tesa? + tema. Vamos a mostrar ahora cémo se calcula la pardbola dptima en el sentido de los mfnimos cuadrados; la extensién a polinomios de grado més alto es sencilla y queda como ejercicio. Teorema 5.3 (Parabola éptima en minimos cuadrados). Supongamos que tenemos N puntos {(x,yk)}h1 cuyas abscisas son todas distintas. Los coeficientes de la pardbola de ecuacién (27) y=f(o) =A? + Brt+C que mejor se ajusta a dichos puntos en el sentido de los minimos cuadrados son Jas soluciones A, B y C del sistema de ecuaciones lineales wo (Ea) (Ba)ae(En)eaE nn (= 4) At (= a) B+ NC x Ur: Demostracién. Los coeficientes A, B y C de la parébola éptima deben mini- mizar la funcién: x (29) E(A,B,C) = (Ah + Bay +O — ue). = Las derivades parciales 8E/0A, E/OB y 0E/OC deben ser todas cero, asi que: OE(A, B.C) y SEAB.O) 2S (Aah + Bax + Cw) R, = (20) 0 = PEABO _ So(Az? + Ban + C — ux) (Zh)s 8E(A, B,C) o= aaa Bee +C—yx)'(1)- f Sec. 5.2 AJUSTE DE CURVAS 295 Tabla 5.7 — Calculo de los coeficientes de las ecuaciones normales para la parabola éptima del Ejemplo 5.6. 2k Ve ah ah zt TaVk hye =i 3 9 27 al 9 27 a, | 1 0 0 0 0 0 2 1 Ava 8 16 2 4 4 3 16 64 256 12 48 3 8 29 45 353 5 79 Usando la propiedad distributiva de la suma, podemos sacar cada coeficiente A, By C como factor comin en las sumas de (30) en las que aparecen, lo que resulta en las ecuaciones normales escritas en (28). . Ejemplo 5.6. Vamos a determinar la pardbola dptima en minimos cuadrados para los cuatro puntos (—3, 3), (0,1), (2,1) y (4,3)- En la Tabla 5.7 se muestran los cdlculos necesarios para construir el sistema lineal (28) que viene dado por 353A + 45B + 29C = 79 454+29B+ 3C= 5 294+ 3B+ 4C= 8 y cuya solucién es A = 585/3278, B = —631/3278 y C = 1394/1639, y la parébola que buscamos es (véase la Figura 5.8) 585 631, 1304 ee gd 2. 2 cae ¥ = 35787 gore? 7639 0.178462x? — 0.192495z + 0.850519. . El fenémeno de la oscilacién polinomial No deja de ser tentadora la posibilidad de utilizar un polinomio dptimo en el sentido de los minimos cuadrados para ajustar datos que no son lineales. Pero si los datos no muestran una naturaleza polinomial, puede ocurrir que la curva resultante presente oscilaciones grandes. Este fenémeno, llamado oscilacién polinomial, se hace més pronunciado conforme aumenta el grado del polinomio y, por esta raz6n, no se suelen usar polinomios de grado seis 0 mayor; a n0 ser que se sepa que la funcién de la. que provienen los datos es un polinomio. Por ejemplo, vamos a usar la funcién f(x) = 1.44/z? + 0.24¢ para generar seis parejas de datos (0.25, 23.1), (1.0, 1.68), (1.5, 1.0), (2.0, 0.84), (2.4, 0.826) y 296 Cap.5 AJUSTE DE CURVAS Figura 5.8 La parabola éptima en mfnimos cuadrados del Ejem- plo 5.6. (5.0, 1.2876). Los ajustes mediante polinomios dptimos en mfnimos cuadrados que se obtienen, para diferentes grados, son P; (x) = 22.93 — 16.962 + 2. P(x) = 33.04 — 46.512 + 19.512? — 2.2962, Pa(a) = 39.92 — 80.932 + 58.392? — 17.15z° + 1.680z%, Ps (x) = 46.02 — 118.12 + 119.42? — 57.512° + 18.032* — 1.0852° cuyas gréficas se muestran en las Figuras 5.9(a)(d). Hagamos notar que P;(z), P(x) y Ps(z) presentan oscilaciones grandes en el intervalo [2,5]; es més, aunque Ps(x) pasa incluso por los seis puntos, es la que peor se aproxima a la funcién. Si insistimos en elegir un polinomio que se ajuste a los datos y se aproxime a esta funcién, deberfamos elegir P,(z) El programa que damos a continuacién emplea la matriz F cuyos términos son los valores f;(2x) = 24 * Programa 5.2 (Polinomio éptimo en mfnimos cuadrados). Cons- truccién del polinomio de grado M dado por Pye(z) = c; + coe +62? +++ + oye™* + ey iia que mejor se ajusta en el sentido de los minimos cuadrados a las NV parejas | de datos {(#, v2) Has. function C = lspoly(X.Y,™) % Datos - X es el vector de orden 1 x n de las abscisas SEC. 5.2 AJUSTE DE CURVAS 297 (b) 30 20 10 0 -10 20 © (4) Figura 5.9 (a) Ajuste de P2(x) a los datos. (b) Ajuste de Ps(2) a los datos. (c) Ajuste de P;(x) a los datos. (d) Ajuste de Ps(z) a los datos. - Yes el vector de orden 1 x n de las ordenadas - Mes el grado del polinomio éptimo Resultado - C es el vector de coeficientes del polinomio en potencias decrecientes de x ength(X); eros (1:M+1) ; F=zeros(n,M+1); % Se rellenan las columnas de F con las potencias de X for k=1:M+i F(:,k)=X’.7(k-1); end % Resolucién de las ecuaciones normales ASE? *E; 298 Cap. 5 AJUSTE DE CURVAS Ejer: ee 1. Determine la pardbola éptima en el sentido de los minimos cuadrados de la forma f(x) = Az? + Bz+C para cada conjunto de datos. ry T= = (b) Tk | Uk te | Ue -3 | 15 -3 |-1 i Oe =1 | 25 yl a 1 | 25 o)8 Bie 2. Determine la pardbola éptima en el sentido de los minimos cuadrados de la forma f(z) = Az? + Ba +C para cada conjunto de datos. (a) T (b) (c) Tk Uk Zk Ue ze Ye 2 |-58 -2 2.8 —2 | 10.0 -1 11 =1) |) 22 -1 | 10 o | 38 0 3.25 0 0.0 1 3.3 1 6.0 1 2.0 2-15 2 | 115 2 9.0 3. Para el conjunto de datos que se muestra al final del enunciado, determine la curva de cada familia que mejor se les ajusta en el sentido de los mfnimos cuadrados. (a) f(z) =Ce4*, usando el cambio de variables X = 2, ¥ =In(y) yC = dado en la Tabla 5.6, para linealizar los datos. (b) fa) = Cz, usando el cambio de variables X = In(z), ¥ = In(y) y = 8, dado en la Tabla 5.6, para linealizar los datos. (c) cn F_(f) para determinar cudl de las dos curvas se les ajusta mejor. Te | Uk ah 0.6 19 43 7.6 12.6 oR Oe 4. Para el conjunto de datos que se muestra al final del enunciado, determine Je curva de cada familia que mejor se les ajusta en el sentido de los minimos cuadrados. (a) f(z) = Ce, usando el cambio de variables X =z, ¥ = In(y) ¥ C= Gado en la Tabla 5.6, para linealizar los datos. fe > 2 ecsstbetecaa ERRRRRAD h ES eraaae e a Sec. 5.2 AJUSTE DE CURVAS 299 (b) f(z) = 1/(Az +B), usando el cambio de variables X = ze Y = 1/y, dado en la Tabla 5.6, para linealizar los datos. (c) Use Ea(f) para determinar cual de las dos curvas se les ajusta mejor. 6.62 3.94 2.17 1.35 0.89 wm Hor 5. Para los dos conjuntos de datos que se muestran al final del enunciado, de- termine la curva de cada familia que mejor se les ajusta en el sentido de los m{nimos cuadrados. (a) f(z) = Ce4*, usando el cambio de variables X = z, ¥ =In(y) yC =e, dado en la Tabla 5.6, para linealizar los datos. (b) f(z) = (Az +.B)~?, usando el cambio X = ze ¥ ‘Tabla 5.6, para linealizar los datos. (c) Use Za(f) para determinar cudl de las curvas se les ajusta mejor. 2, dado en la oS te | Uk | Ue -1 | 13.45 1 | 13.65 o | 301 o | 138 1 | 067 1 | 049 2 | 015 3 | 0.15 6. Crecimiento logistico de poblaciones. Cuando una poblacién P(t) no puede crecer més halla de un cierto valor limite L, la gréfica de la funcién P(t) es una curva, llamada curva logistica, de ecuacién y = L/(1+ Ce). Calcule A y C para los siguientes datos, siendo L un valor conocido. (a) (0,200), (1,400), (2, 650), (3,850), (4,950) y L = 1000. (b) (0,500), (1,1000), (2, 1800), (3, 2800), (4,370) y L = 5000. 7. Use los siguientes conjuntos de datos sobre la poblacién de los Estados Unidos de América para hallar la curva logistica P(t) correspondiente y estime la poblacién en el afio 2000. 300 Cap. 5 AJUSTE DE CURVAS (a) Suponga que L = 8 x 108 (b) Suponga que L = 8 x 10 Ato| te P, Ago | te] Pe 1800 —10 5.3 1900; 0 76.1 1850 -5 23.2 1920| 2 | 106.5 1900 0 76.1 1940 | 4 | 132.6 1950 5 152.3 1960 | 6 | 180.7 1980| 8 | 226.5 En los Ejercicios 8-15, realice el cambio de variables indicado en la Tabla 5.6 y deduzca la correspondiente relacién lineal entre las nuevas variables. A D 8 y=T+B %.v=sG 2 10. U= 7B ll. = 7 Be 12. y=Aln(z) +B 18. y=Cz4 14. y=(Az+B)? 15. y= Cre“P* 16. (a) Siga el procedimiento descrito en la demostracién del Teorema 5.3 para deducir las ecuaciones normales que permiten hallar la curva de la forma f(z) = Acos(z) + Bsin(z) que mejor se ajusta a un conjunto de datos en el sentido de los mfnimos cuadrados. (b) Utilice los resultados del apartado (a) para hallar la curva de ecuacién y = f(z) = Acos(z) + Bsin(z) que mejor se ajusta al conjunto de datos Tk —3.0 -15 0.0 15 3.0 Uk —0.1385 —2.1587 0.8330 2.2774 —0.5110 17. El plano z = Ar + By + C que mejor se ajusta en el sentido de los minimos cuadrados a un conjunto de N puntos (21,y:,2:), (Z242.z2), -+++ (zy, yn, 2N) Se obtiene minimizando N E(A,B,C) = )7(Aze + Bux + C — 2%)?- kel et sunita Suc. 5.2 AJUSTE DE CURVAS 301 Deduzca las correspondientes ecuaciones normales: i ix é ¥ (= 4) re (= nn) Be ( ») Casey Pe i oe = Bi x ¥ yom) At ( #) B+ (= ») C= am, = 7 = em N 2 v (s ») A+ ( ») B+ NGC =O. it a1 it 18. Determine los planos que mejor se ajustan a los siguientes conjuntos de datos en el sentido de los minimos cuadrados. (a) (1,1,7), (1,2,9), (2,1, 10), (2,2, 11) y (2,3, 12) (b) (1,2, 6), (2,3,7), (1,1,8), (2, 2,8) y (2,1,9) (c) (3,1,-3), (2,1, -1), (2,2,0), (1,1,1) y (1,2,3) 19. Consideremos la siguiente tabla de datos Mz a Tk Yee 10) 2.0 20) 5.0 3.0 | 10.0 40) 17.0 5.0 | 26.0 Si, para linealizar los datos, hacemos el cambio de variables X = zy e ¥ = 1/y en la funcién y = D/(z + C) entonces el ajuste que se obtiene es ~17.719403 5.476617" Si lo que se hace es el cambio de variables X = z e Y = 1/y en la funcién y = 1/(Az + B), también para linealizar los datos, entonces el ajuste que se obtiene es 1 —0.1064253z + 0.4987330° Determine cual de las curvas de ajuste es mejor y por qué una de las soluciones es completamente absurda. y Algoritmos y programas 1. La relacién, hora a hora, de temperaturas en Puerto Real (CAdiz) durante un dia de noviembre se da en la tabla que figura més abajo. 5.3 ~ intervalos [z%, te+1] ¥ [ 302 Cap. 5 AJUSTE DE CURVAS (a) Siguiendo el procedimiento descrito en el Ejemplo 5.5 (utilice la instruc- cién fmins del paquete MATLAB), calcule la funci6n de la forma f(z) = ‘Acos(Bz) + C’sin(Dz) que mejor se ajusta a los datos de la tabla en el sentido de los minimos cuadrados. (b) Determine F2(f). (c) Dibuje los datos y la curva obtenida en una misma gréfica. Hora | Grados || Hora | Grados fil 8 13 16 2 8 4 | 16 3 8 15 15 4 8 16 14 5 T 17 13 6 7 | 18 13 7 7 19 | 12 3 | 8 20 u 9 10 21 10 10 14 22 10 1 14 | 23 9 12 15 || 24 8 Interpolacién polinomial a trozos Frecuentemente, la interpolacién polinomial para un conjunto numeroso de N+1 datos {(2k,ye)}Nao resulta ser muy poco satisfactoria. Como hemos visto en la Seccién 5.2, dado que un polinomio de grado N puede tener N — 1 extremos relativos, es posible que su grafica presente oscilaciones grandes al hacerla pasar por los puntos dados. Otra opcién es ir enlazando, una detrés de otra, las gréficas de unos polinomios de grado bajo S,(z) que sdlo interpolan entre dos nodos consecutivos (tg, Yk) ¥ (Tk+1;Yx+1) (véase la Figura 5.10). Las porciones adyacentes de la curva y = Sk(z) e y = Se+1(z), que se construyen sobre los ‘k=1;e-+g], tespectivamente, se enlazan una con la otra en el punto (p11, ys-1) ¥ el conjunto de funciones {54(x)} forma una curva polinomial a trozos o cercha, que denotaremos por $(z) Interpolacién lineal a trozos El polinomio més simple que podemos usar, un polinomio de grado 1, produce una linea quebrada que consta de los segmentos rectilineos que unen los pun- tos consecutivamente. Si usamos el polinomio interpolador de Lagrange de la ai. ll setts RECS ] i : i; Sec. 5.3 INTERPOLACION POLINOMIAL A TROZOS 303 Ge ye uae Gy-p ¥v-D Gye yy) +t tt ttt FE *e eer y-1 3 Figura 5.10 Interpolacién polinomial a trozos. Ce yD (ey ¥2) yop Id 0 ¥0) Geer Heed iy 6 ee, Fe ket Ay-1 4y Figura 5.11 Interpolacién lineal a trozos (cercha li- neal). Seccién 4.3 para determinar cada trozo de esta linea quebrada obtenemos r—Z Yeet————_ para Te STL Ter Tk+i — Tk Q) Seb El resultado se muestra en la Figura 5.11. Obtenemos una expresién equivalente usando la ecuacién de la recta cuando se conocen un punto y su pendiente: Sk(z) = ye + de(z — ze), siendo dy = (ya+1—yx)/(ce~1— Tk). La cercha (en inglés, spline) lineal que 304 Cap. 5 AJUSTE DE CURVAS se obtiene se puede escribir como yo + do( — 0) para x en [z0, 21], nt a(e—21) para z en [21,22], 2 5(z) = ( (2) = o adute~iead para zen (zx, 7e+1), yy-i+dy-1(g—2y-1) para zen [2y-1, en). La expresién (2) es mejor que la expresién (1) para calcular S(x) explici- tamente. Suponiendo que las abscisas estan ordenadas de manera creciente to <1 < ++ < ZN-1 < tw y dado un valor de z, el intervalo [zx,z4+1] al que x pertenece puede hallarse calculando de manera sucesiva las diferencias @—@,...,0—Zk,l—Tk+1 hasta llegar a k +1, que es el menor entero tal que z—Zpe1 < 0. Una vez encontrado el valor de k tal que t_ < ¢ < +1, el valor de la funcién S(c) es @) S(2) = Sp(a) = ve + de @ — 24)- La técnica descrita puede extenderse a polinomios de mayor grado; por ejem- plo, si tenemos un mimero impar de nodos zo, 71, ..-,t2M, entonces podemos construir un polinomio cuadrético en cada subintervalo [z2x, t24+2], para k = 0, 1, ..., M—Ly obtener una cercha parabélica (esto es, un polinomio cuadzatico a trozos). Un inconveniente de este método es que la curvatura de la cercha resultante puede cambiar abruptamente en los nodos pares 2%, con lo cual su gréfica puede presentar esquinas y distorsiones no deseadas en algunas aplica- ciones. La derivada segunda de una cercha cuadrdtica es, en general, discon- tinua en los nodos pares; sin embargo, si usamos polinomios ctibicos @ troz0s, entonces podemos conseguir que tanto la primera derivada como la segunda sean continuas en el intervalo. Cerchas ctibicas El ajuste de una curva polinomial a trozos a un conjunto de puntos dados ti aplicaciones en los campos del disefio asistido por computador, de la fabricacién asistida por computador y de los sistemas de generacién de gréficas por com- putador. Lo que habitualmente se desea es dibujar una curva que pase por una serie de puntos, cuyas coordenadas conocemos con bastante precisién, y que sea suave. Tradicionalmente esto se hacia usando una cercha, una regia flexible o un conjunto de plantillas rigidas, con las que se podia dibujar a mano alzada una curva que parece suave a la mirada. Matemdticamente, es posible cons- truir una funcién cébica S,(z) en cada intervalo [x,24+:] de manera que la ad piccmantaecatblaeadssateass inca ie t I E i t Fo aati ea a e mS TT: SEC. 5.3 INTERPOLACION POLINOMIAL A TROZOS 305 curva definida a trozos y = $(z) que resulta es dos veces derivable y la segunda derivada es continua en el intervalo completo [z9,y]. La continuidad de 5’(z) significa que la curva de ecuacién y = S(z) no tiene esquinas; la continuidad de ‘$”(z) significa que el radio de curvatura esta definido en cada punto. Definicién 5.1 (Cercha ctibica interpoladora). Supongamos que tene- mos N +1 puntos {(2i,yk)}$ cuyas abscisas estén ordenadas de manera creciente a = tp < 2; < ++: < zy = b. Se dice que una funcién S(z) es una cercha ctibica interpoladora para dichos datos si existen N polinomios ciibicos 5, (z), que podemos escribir en términos de unos coeficientes 24,0, $k,11 $k,2 ¥ 8k,3 COMO 1. S(a) = Se(z) = 8n0 + $4.1 ( — 4) + Sua(t— ae)? + s4,9(0 —24)® paraz € [zk,Zne1] yk =0, 1, ..., N—1, que verifican las siguientes propiedades: I. S(zk) =e para k=0,1,...,.N, UL. Se(re+1) = Sea(te+1) parak=0,1,...,N—2, Iv. para k=0,1,...,N—2, Ve Sg (tee) = Sha (Za+1) para k= 0, 1, N-2. a Las relaciones I significan que S(z) es un polinomio citbico a trozos. Las relaciones II significan que $(z) interpola los datos. Las relaciones III y IV sig- nifican que S(z) es una funcién derivable y con derivada continua. Finalmente, las relaciones V significan que la derivada segunda de S(c) también existe y es continua. Existencia de cerchas ctibicas interpoladoras Vamos determinar si es posible construir una cercha ciibica que verifique las propiedades I a V. Cada polinomio ciibico S;(z) tiene cuatro coeficientes (s%.0, Skt; 8.2 Y $43) desconocidos a priori, lo que hace un total de 4IV coeficientes por determinar; esto significa que deben especificarse 4V condiciones. Las rela- ciones II sobre los datos proporcionan V + 1 condiciones y cada una de las relaciones III, IV y V proporcionan N — 1; por tanto, la defincién de cercha ciibica interpoladora especifica NV + 1+ 3(N — 1) = 4N — 2 condiciones que deben verificarse, lo que nos deja dos grados de libertad para calcular los coefi- cientes. Estos dos grados de libertad se llaman restricciones en los extremos porque normalmente involucran los valores de S'(x) o los de 5”(«) en los ex- tremos del intervalo zo y zy: esto lo discutiremos luege. ahora vamos a pasar a la construccién de la cercha. Puesto que $(z) es un polinomio ciibico a trozos, su derivada segunda S"(z) es lineal a trozos ex [29,2]. En consecuencia, la formula de interpolacién lineal 306 Cap. 5 AJUSTE DE CURVAS de Lagrange nos proporciona para z_ < 2 < Te+1 la siguiente representaci6n de 5" (z) = Sf(z): g-2 i -2 BS eee 4S (eos) mi wah by @) Si(2) = 8" ay) a Usando ahora la notacién mp = $"(xx), Mast = S"(te+1) ¥ hk = The — Thr la expresion (4) queda a 1 Te s! (5) (2 ha para xy <2 < om ¥ F=0, 1, -..,.N—1. Al integrar la relacién (5) dos veces aparecen dos constantes de integracién. Organizando de manera conve- niente el polinomio lineal que involucra estas constantes, el resultado de estas integraciones lo podemos escribir de la siguiente manera ™ Peon — 2) + Ae — 2) Mie 6h ‘Ahora evaluamos Sj (27x) y Sk(@e-+1) usando la ecuacién (6) y los valores de interpolacién dados yp = Sk(te) © Ya+t = Sk(Zh+1), obteniendo: (8) Sez) = Fe (enes — 2) + 1 (q — xq)? + pe(aeer — 2) + 9u(E — 2e)- m me @ ue = TEN + abe © Yass = SES AE + Ooh Podemos despejar facilmente py y qx en estas ecuaciones y, al sustituir los valores obtenidos en la ecuacién (6), lo que obtenemos es la siguiente expresién de la funcién cibica 9,(z): M+ ‘ Sila) = FE (aus — 2)? + GR ea)? hy ely + (# - maf) (tev —2)+ (42 - a) (2 -a%)- Lo que hemos conseguido en la representacién (8) es reducir el problema de forma que ahora sélo nos falta determinar los coeficientes desconocidos {rms} Para hallar estos valores, hagamos notar que no hemos impuesto atin las condi- ciones sobre las derivadas primeras en los nodos. Derivamos. pues, en (8) ¥ obtenemos: Spa) = — pe (ean — 2) + Bete — ay)? (9) = (# _muhe) , Yaoi _ Marthe he 6 he fe. + Ahora evaluamos (9) en el punto z» para hallar la derivada por la derecha de S en zp y, simplificando el resultado, nos queda: (10) Si(x) = —-GEhe— ™ESAkt+de, siendo aa | SEC. 5.3 INTERPOLACION POLINOMIAL A TROZOS 307 De manera parecida, reemplazando k por k — 1 en (9) para obtener la ex- presién de Si_;(c) y evaluando esta expresién en zg, para hallar la derivada por la izquierda de 5 en 2», obtenemos: Tea 6 ; m (11) Shaa(te) = FER + a + da. Finalmente, usando las relaciones IV y las expresiones (10) y (11), obtene- mos una relaci6n entre mx—1, ™k Y ™Mk+1 que es crucial en la construccién de la cercha: (12) Ay—1m™g—1 + 2(ha—1 + he) + Demers = Ue De ssa ae siendo uy = 6 (dy —dy-1) para k= Construccién de las cerchas ctibicas interpoladoras Observemos que las incdgnitas de las ecuaciones de (12) son los valores deseados {mx} y que los demés términos se obtienen a partir de los datos {(zx, yx)} mediante operaciones aritméticas muy simples. Por tanto, lo que aparece en (12) es, en realidad, un sistema de N—1 ecuaciones lineales con N +1 incégnitas y, en consecuencia, para que tenga solucién tinica habria que afiadirle dos ecuaciones adicionales, que llamamos restricciones en los extremos. Lo habitual es que estas dos ecuaciones sirvan para eliminar mo de la primera ecuacién del sistema (12) y my de la tiltima, la (V — 1)-ésima. En la Tabla 5.8 se relacionan las estrategias més usuales para elegir las restricciones en los extremos. Consideremos la estrategia (v) de la Tabla 5.8. Si fijamos el valor de mo, entonces podemos calcular homo y escribir la primera ecuacién (cuando k = 1) de (12) como (13) 2(ho + hy) + hime = uy — homo. De manera parecida, si fijamos my, entonces podemos calcular hy—imy y la Gltima ecuacién (cuando k = N — 1) de (12) resulta (14) hy—-2my—2 + 2(hy-2 + hy-1)my—1 = uy-1 — hy-1my. Las ecuaciones (13) y (14) junto con las que aparecen en (12) para k = 2, 3, bok N —2 forman un sistema lineal de NV — 1 ecuaciones con N ~ 1 incégnitas: los coeficientes mz, m2,...,my—1. Independientemente de la estrategia concreta que elijamos de la Tabla 5.8, podemos escribir las ecuaciones primera (k = 1) y tltima (k = N — 1) de (12) de manera que el sistema para las incégnitas m;,mo,...,my_— sea un sistema $08 CaP.5 AJUSTE DE CURVAS ‘Tabla 5.8 Restricciones en los extremos para cerchas ciibicas. Descripcién de la estrategia Ecuaciones para mo y MN = (do — S'(20)) — bg (S' (ex) = dvi) — () Cercha ctibica sujeta: se | mo especifican $'(z0), S’(tn) | my (es la “mejor eleccién’” si se conocen las derivadas) () Cereha cxibica natural mp = 0,my =0 (una “curva relajada”) (i) _ Se extrapola 5”(z) a los 7g = rm, — Balam), a(my1—myaa) extremes ee ee (i) _S""(@) es constante cerca Tp =m, my = My-1 de los extremos (W) Se especifica $”(X) en mo = 5"(zo), mw = 5” (zw) cada extremo lineal tridiagonal HM = V dado por: i boc m, un 3 a, b m2 v2 ; (18) % : |=] e i an—3 by-2 ¢n-2| |Mn-2 UN-2 a ay—2 by-1} |my-1 UN-1 El sistema dado en (13) es de diagonal estrictamente dominante, por lo que tiene solucién wnica (véanse los detalles en el Capitulo 3). Una vez calculados Jos coeficientes {ms}, los coeficientes de la cercha {sj} para el trozo Sk(2) vienen dados por las férmulas hy (2my + Me+1) $k,0 = Yas Sk = de (as) = $k.2 = 2 $k3 = Podemos escribir cada polinomio cibico S, (x) en forma de multiplicaciones encajadas para que la computacién sea eficiente en términos del mimero de operaciones: >< 2k, (17) Sez) = (Ses + $n2)w+seiju tye, — siendo recordando que S,(z) se usa cuando 7% <2

You might also like