Vous êtes sur la page 1sur 13

TRABAJO FINAL

INTEGRANTES: EDUARD ALEXIS ORTEGA BALLESTEROS

PRESENTADO A: ING. ANDRS FERNANDO MEJA

FUNDACIN UNIVERSITARIA DE SAN GIL UNISANGIL FACULTAD DE CIENCIAS NATURALES E INGENIERA INGENIERA DE SISTEMAS MTODOS NUMRICOS SAN GIL 2013

TRAZADOR CUBICO Definicin: El ajuste de una curva polinomial a trozos a un conjunto de puntos dados tiene aplicaciones en los campos del diseo asistido por computador, de la fabricacin asistida por computador y de los sistemas de generacin de grficas por computador. Lo que generalmente se desea es dibujar una curva que pase por una serie de puntos, cuyas coordenadas se conocen con precisin, y que sea suave. Tradicionalmente esto se haca usando una cercha, una regla flexible o un conjunto de plantillas rgidas, con las que se poda dibujar a mano alzada una curva que parece suave a la mirada. Matemticamente, es posible construir una funcin cbica Sj(x) en cada intervalo [xj,xj+1] de manera que la curva definida a trozos y=S(x) que resulta, es dos veces derivable y la segunda derivada es continua en el intervalo completo [x0,xn]. La continuidad se S(x) significa que la curva de ecuacin y=S(x) no tiene picos o esquinas; la continuidad de S(x) significa que el radio de curvatura est definido en cada punto. Pasos:
Primero se supone que Sj(x), xj x xj+1 es de la forma : Sj(x)= aj + bj(x-xj) + cj(x-xj)2 + dj(x-xj)3, para j=0,1,2,...,n -1 Por la condicin I.) Si se aplica la condicin II.):

Sj(xj)= aj= f(xj) = yj Sj+1(xj+1)= aj+1


Sj+1(xj+1)= Sj(xj+1) aj+1= aj + bj(xj+1-xj) + cj(xj+1-xj)2 + dj(xj+1-xj)3 si hj=xj+1-xj, j=0,1,2,...,n-1 aj+1= aj + bjhj + cjhj2 + djhj3 (1)

Observe que

Sj(x)= bj + 2cj(x-xj) + 3dj(x-xj)2 Sj(xj)= bj Sj+1(xj+1)= bj+1 Sj+1(xj+1)= Sj(xj+1) bj+1= bj + 2cj(xj+1-xj) + 3dj(xj+1-xj)2 bj+1= bj + 2cjhj + 3djhj2 (2) Sj(x)= 2cj + 6dj(x-xj) (*) Sj(xj)=2cj Sj+1(xj+1)=2cj+1 Sj+1(xj+1)= Sj(xj+1) 2cj+1=2cj+6dj(xj+1-xj) cj+1=cj+3djhj (3)

por la condicin III.):

Est claro que

por la condicin IV.):

Al despejar dj en (3) resulta

si se sustituye dj en la ecuacin (1)y (2) resulta:

bj+1=bj+(cj + cj+1)hj (2a) aj+1=aj+bjhj+


(1a)

bj=bj-1+(cj-1 + cj)hj-1 (2b)


(2b resulta de 2a con el ndice reducido en 1). Al despejar bjen la ecuacin (1a) se tiene que

(1b)

(1c) Si bj y bj-1 se reemplazan en la ecuacin (2b) se obtiene:

(4) para j=1,2,...,n-1 El sistema (4) tiene slo como incgnitas a cj, ya que los valores de hj estn dados por el espaciado de los nodos xj (recuerde que hj = xj+1 - xj); y los valores de aj son los valores de f en los xj (aj = f(xj) por la condicin I.)

Si en la ecuacin (4) se reemplaza j=1,2,...,n-1 se obtiene el sistema

Si el trazador es natural entonces S(x0) = 0 = S(xn) y teniendo en cuenta la ecuacin(*)

Sj(x) = 2cj + 6dj(x-xj), S0(x0) = 2c0 + 6d0(x0-x0) = 2c0, luego c0=0, de la misma forma cn = 0.
El sistema anterior junto con las ecuaciones c0=0 y cn=0 se puede escribir en forma matricial como

Observe que la matriz del sistema es estrictamente dominante en sentido diagonal por lo tanto el sistema lineal tiene una nica solucin c0, c1, c2,..., cn.

Una vez que se hallan los valores de los

se encuentran los

usando la ecuacin (1b) y

usando la ecuacin (3). Finalmente es fcil construir los polinomios cbicos

Ejemplo:
Hallar el trazador cbico natural que pasa por los puntos

xj

-3

-2

4 y aproximar (0)

f(xj) 2

Solucin: En este caso x0= -3, x1= -2, x2= 1, x3= 4; (x0)=2, (x1)=0, (x2)=3, (x3)=1

hj = xj+1 xj
(xj) = aj

h0 = x1 x0 = 1 a0 = (x0) = 2 a3 = (x3) = 1

h1 = x2 x1 = 3 a1 = (x1) = 0

h2 = x3 x2 = 3 a2 = (x2) = 3

es: El sistema lineal para hallar

j = 0, 1, 2

j = 0, 1, 2

Los polinomios cbicos son de la forma:

Por lo tanto el trazador cbico S(x) para en [-3, 4] es:

Para aproximar (0) se toma S1(x), ya que x = 0 esta en el intervalo [-2,1].

Luego (Redondeando la respuesta a un decimal)

Algoritmo: El siguiente algoritmo recibe un nmero arbitrario de pares de datos en la forma de una matriz de 2*n, donde las abcisas se encuentran en la primera fila (o rengln) y las ordenadas en la segunda fila de la matriz, devolviendo los coeficientes de los polinomios cbicos que interpolan a los datos y adems entrega la grfica del trazador cbico ("spline" de orden 3):

function [a,b,c,d]=spline3(X) %Pasos bsicos del algoritmo obtenidos del libro Anlisis Numrico de %Richard Burden, 2a. Edicin, Grupo Editorial Iberoamrica. syms x; X=input('Ingrese funcion: formato [x; y]:'); n=length(X(1,:)); for i=1:n; a(i)=X(2,i); end for i=1:n-1; h(i)=X(1,i+1)-X(1,i); end for i=2:n-1; alfa(i)=3/h(i)*(a(i+1)-a(i))-3/h(i-1)*(a(i)-a(i-1)); end l(1)=1; mu(1)=0; z(1)=0; for i=2:n-1; l(i)=2*(X(1,i+1)-X(1,i-1))-h(i-1)*mu(i-1); mu(i)=h(i)/l(i); z(i)=(alfa(i)-h(i-1)*z(i-1))/l(i); end l(n)=1; z(n)=0; c(n)=0; for i=n-1:-1:1; c(i)=z(i)-mu(i)*c(i+1); b(i)=(a(i+1)-a(i))/h(i)-h(i)*(c(i+1)+2*c(i))/3; d(i)=(c(i+1)-c(i))/(3*h(i)); end for i=1:n-1; x=X(1,i):0.1:X(1,i+1); y=a(i)+b(i)*(x-X(1,i))+c(i)*(x-X(1,i)).^2+d(i)*(x-X(1,i)).^3; hold on; plot(x,y,'b'); end for i=1:n; hold on; plot (X(1,i),X(2,i),'*','MarkerEdgeColor','r','LineWidth',1); title('Interpolacin por "splines" de orden 3.'); end

MTODO DE RUNGE KUTTA Definicin: El mtodo de Runge Kutta es un mtodo numrico de resolucin de ecuaciones diferenciales que surge como una mejora del mtodo de Euler, el cual se puede considerar como un mtodo de Runge Kutta de primer orden, ste mtodo logra la exactitud de una serie de Taylor pero sin requerir el clculo de derivadas superiores. Los Runge-Kutta no es slo un mtodo sino una importante familia de mtodos iterativos tanto implcitos como explcitos para aproximar las soluciones de ecuaciones diferenciales ordinarias (E.D.Os), estas tcnicas fueron desarrolladas alrededor de 1900 por los matematicos alemanes Carl David Tolm Runge y Martin Wilhelm Kutta. Pasos:

Definamos un problema de valor inicial como:

Entonces el mtodo RK4 para este problema est dado por la siguiente ecuacin:

Donde

As, el siguiente valor (yn+1) es determinado por el presente valor (yn) mas el producto del tamao del intervalo (h) por una pendiente estimada. La pendiente es un promedio ponderado de pendientes: k1 es la pendiente al principio del intervalo; k2 es la pendiente en el punto medio del intervalo, usando k1 para determinar el valor de y en el punto usando el mtodo de Euler

k3 es otra vez la pendiente del punto medio, pero ahora usando k2 para determinar el valor de y k4 es la pendiente al final del intervalo, con el valor de y determinado por k3 Promediando las cuatro pendientes, se le asigna mayor peso a las pendientes en el punto medio:

Esta forma del mtodo de Runge-Kutta, es un mtodo de cuarto orden lo cual significa que el error por paso es del orden de O(h5), mientras que el error total acumulado tiene el orden O(h4).

Existen variantes del mtodo de Runge-Kutta clsico, tambin llamado Runge-Kutta explcito, tales como la versin implcita del procedimiento o las parejas de mtodos Runge-Kutta (o mtodos Runge-Kutta-Fehlberg). Este ltimo consiste en ir aproximando la solucin de la ecuacin mediante dos algoritmos Runge-Kutta de rdenes diferentes, para as mantener el error acotado y hacer una buena eleccin de paso. Ejemplo:

Resolver

Aplicando el mtodo de Runge-Kutta. SOLUCIN De la condicin inicial del problema se tiene que X = 0, y Y = 1; adems, h = 0.1. Sustituyendo estos valores en (17) se obtiene:

Llevando estos valores a (16) y el resultante a (12) se obtiene que para X = 0.1 la solucin del problema es

Los valores de las ki para este punto obtenido de la solucin, son:

luego

Continuando de la misma forma se obtiene la solucin que se muestra en la siguiente tabla:


X 0.0 0.1 0.2 0.3 0.4 0.5 Y 1.0000 1.0554 1.1236 1.2085 1.3158 1.4545 k1 0.5000 0.6126 0.7575 0.9492 1.2119 1.5868 k2 0.5516 0.6782 0.8431 1.0647 1.3735 1.8234 k3 0.5544 0.6823 0.8494 1.0745 1.3896 1.8517 k4 0.6127 0.7575 0.9494 1.2121 1.5872 2.1509

Algoritmo:
function w=RK_punto_medio(funcion, alfa,a,b,n) syms funcion;syms a;syms b;syms alfa;syms n; funcion=input('Ingrese funcion:'); a=input('Ingrese punto a:'); b=input('Ingrese punto b:'); alfa=input('Ingrese vector inicial:'); n=input('Ingrese numero de pasos:'); %RK_Punto_Medio('funtion',alfa,a,b,n) % funcion : Nombre de la funcin f(t,y) de la derivada % a,b : Extremos del intervalo. [a,b] % n : Numero de iteraciones. (para la particin) % alfa : Condicin inicial en el instante t0=a w(1)=0.1; h=(b-a)/n; t(1)=0.2; %h=0.3; %n=7; for i=1:n t(i+1)=a+i*h; ftiwi=feval(funcion,t(i),w(i)); tih=t(i)+h/2; wih=w(i)+h/2*ftiwi; hf=feval(funcion,tih,wih); w(i+1)=w(i)+h*hf; end disp([' t_i', 'w_i']) disp([t(1:n)',w(1:n)']) plot(t,w,'r',t,w,'*')

REFERENCIAS BIBLIOGRFICAS

Servidor de Portales Pontificia Universidad Javeriana, Interpolacin Polinomial A Trozos, Javeriana, [Articulo de internet], [Consultado: 10/06/2013], http://bit.ly/17HQQOj Grupo de matemticas aplicadas e ingeniera, Algoritmo en MATLAB para trazador cbico, Carlos Armando De Castro P., [Articulo de internet], [Consultado: 10/06/2013], http://bit.ly/12GSxdR Universidad Autnoma Metropolitana, Resolucin de Ecuaciones diferenciales, Lourdes Snchez Guerrero, [Articulo de internet], [Consultado: 10/06/2013], http://bit.ly/13CRY1s Universidad Centroccidental, Mtodo de Runge Kutta, Fernndez Eleana et al, [Articulo de internet], [Consultado: 10/06/2013], http://slidesha.re/sl5wDr

Vous aimerez peut-être aussi