Вы находитесь на странице: 1из 10

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTA FACULTAD DE INGENIERIA

LABORATORIO MODULO CINCO MTODOS NUMRICOS

Juan David Alejandro Cadena Cedano Luis Alberto Figueroa Casallas 244484

Cdigo: 257912 Cdigo:

PRESENTADO EL 25 DE OCTUBRE DE 2012

El problema que requiere un mtodo numrico para aproximar una integral definida por medio de la regla trapezoidal compuesta es el siguiente: La regla del trapecio compuesta o regla de los trapecios es una forma de aproximar una integral definida utilizando n trapecios. En la formulacin de este mtodo se supone que es continua y positiva en el intervalo [a,b]. De tal modo la integral definida

representa el rea de la regin delimitada por la grfica de f y el eje x, desde x=a hasta x=b. Primero se divide el intervalo [a,b] en n subintervalos, cada uno de ancho

Despus de realizar todo el proceso matemtico se llega a la siguiente frmula:

Donde

y n es el nmero de divisiones.

La expresin anterior tambin se puede escribir como:

Ajustando los cdigos a la funcin anterior al ejercicio se obtiene:

1) Modulo que tiene el mtodo numrico a utilizar:

Se empleo la funcin traprl para encontrar la sumatoria que cumple la regla trapezoidal, esta se desarrolla bajo el siguiente algoritmo informtico:

function s=traprl(a, b, M) //Input - a y b son los limites superiores e inferiores de integracin // - M es el numero de sub-intervalos //Output - s es la suma de la regla trapezoidal h=(b-a)/M; s=0; for k=1:(M-1) x=a+h*k; s=s+f(x); end s=h*(f(a)+f(b))/2+h*s; endfunction

2) Modulo que tiene la funcin a investigar (de acuerdo con el planteamiento desarrollado anteriormente):

function z=f(v) m=10; z=m/(v*(v^0.5)) endfunction

3) Modulo que tiene los datos de entrada y que ejecuta el mtodo numrico con la funcin a investigar: Establecemos los lmites (velocidades) de integracin como lo dice el planteamiento y hallamos la integracin numrica que nos da el tiempo aproximado que tarda la partcula en disminuir su velocidad 5 m/s a partir de los mdulos anteriores, el procedimiento fue sencillamente:

clc; disp(" ** Laboratorio 5 ** ") disp("Codigos: 257912-244484") ww=getdate(); mprintf( "AA:%d ,MM:%d ,DD:%d siendo las HH:%d,MM:%d,SS:%d") a=5 b=10 M=5 s=traprl(a,b,M)

RESULTADOS EN SCILAB

CONCLUSIONES Se comprob que el sistema de calculo por medio del desarrollo de las ecuaciones es muy preciso cuando se observa el valor final obtenido por el programa La regla del trapecio, geomtricamente se puede interpretar que se aproxima el rea bajo la curva por el rea bajo un polinomio La regla del trapecio es exacta para funciones lineales (f(x) = mx + c) ya que el trmino de error contiene f''(z) y este caso f''(x) = 0 y el error sera cero.

Punto 2
Realizar en SCILAB (para esta prctica no vale el uso de MATLAB) un programa que efecte los clculos de la primera derivada de tan(x) en x = 1 utilizando las cinco aproximaciones que aparecen a continuacin (las ecuaciones (1), (2) y (3) y las ecuaciones (A) y (B)), utilizando h=0.1, 0.05 y 0.02. El programa tambin debe evaluar el error relativo verdadero de cada aproximacin. Nota: es obligatorio usar vectores para almacenar el clculo de cada una de las aproximaciones. Los resultados deben quedar almacenados primero en una matriz. Por tanto los resultados se presentan al final en forma matricial Ecuaciones (1) f ' 0 (2) f ' 0 (3) f ' 0

f 0 f 1 h f1 f 0 h f 1 f 1 2h 3 f 0 4 f 1 + f 2 2h

(A)

f '0

(B)

f ' '0

f 0 2 f 1 + f 2 h2

Solucin

//se define la funcin a estudiar. funcion.sci function y=fun(x)

y=tan(x); endfunction //se definen todas las frmulas que se usaran para obtener las aproximaciones difCentral.sci //frmula (1) function [A, Er]=difCentral1(h, x) A=(fun(x)-fun(x-h))/h; Er=abs((derivative(fun,x)-A)/derivative(fun,x))*100; endfunction //frmula (2) function [A, Er]=difCentral2(h, x) A=(fun(x+h)-fun(x))/h; Er=abs((derivative(fun,x)-A)/derivative(fun,x))*100; endfunction //frmula (3) function [A, Er]=difCentral3(h, x) A=(fun(x+h)-fun(x-h))/(2*h); Er=abs((derivative(fun,x)-A)/derivative(fun,x))*100; endfunction //frmula (A) function [A, Er]=difCentralA(h, x) A=((3*fun(x))-(4*fun(x-h))+fun(x-2*h))/(2*h); Er=abs((derivative(fun,x)-A)/derivative(fun,x))*100; endfunction //frmula (B) function [A, Er]=difCentralB(h, x) A=((fun(x))-(2*fun(x-h))+fun(x-(2*h)))/(h^2); [der1,der2]=derivative(fun,x); Er=abs((der2-A)/der2)*100; endfunction Principal.sce disp(" ** Laboratorio Modulo Cinco ** ") disp("Codigos: 257912 244484") ww=getdate(); mprintf( " AA:%d ,MM:%d ,DD:%d siendo las HH:%d ,MM: %d ,SS:%d ",ww(1),ww(2),ww(6),ww(7),ww(8),ww(9));

disp(""); disp("Punto II"); x = 1; resultados=zeros(3,6); errores=zeros(3,6); h = [0.1 0.05 0.02]; //se aaden los valores de h en la primera columna de la matriz resultados y de la matriz errores, para tener mayor claridad al presentar los resultados resultados(1,1)=h(1); errores(1,1)=h(1); resultados(2,1)=h(2); errores(2,1)=h(2); resultados(3,1)=h(3); errores(3,1)=h(3); //se calcula las aproximaciones con todas las frmulas para cada h. for i = 1:3 [resultados(i,2),errores(i,2)] = difCentral1(h(i),x); [resultados(i,3),errores(i,3)] = difCentral2(h(i),x); [resultados(i,4),errores(i,4)] = difCentral3(h(i),x); [resultados(i,5),errores(i,5)] = difCentralA(h(i),x); [resultados(i,6),errores(i,6)] = difCentralB(h(i),x); end disp("APROXIMACIONES"); disp(" h (1) (2) disp(resultados); (3) (A) (B)");

disp("ERROR RELATIVO VERDADERO"); disp(" h (1) (2) (3) disp(errores);


Resultados

(A)

(B)");

De todas estas, la frmula de diferencia centrada es la que tiene, en principio, menor error de truncamiento y la que requiere menos evaluaciones de la funcin, siendo por lo tanto ms eficiente desde el punto de vista computacional. Utilizando el valor de la funcin en ms puntos se construyen frmulas ms precisas para las derivadas. En estas ecuaciones el error que no se puede pasar por alto es el de truncamiento y ms cuando se tiene poca informacin del comportamiento de la funcin en ciertos lmites. El error cometido al aproximar la primera derivada por su frmula de diferencia adelantada es una funcin lineal de h. Cuanto menor sea h (o sea al tomar valores de f(x) ms cercanos) la derivada numrica ser ms precisa. Este error se denomina error de truncacion o discretizacion y puede acotarse fcilmente, obtenindose que: E h2 mx.(x,x+h) |f(z)|.

Вам также может понравиться