Académique Documents
Professionnel Documents
Culture Documents
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.):
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)
(1b)
(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.)
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.
se encuentran los
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
j = 0, 1, 2
j = 0, 1, 2
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:
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
luego
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