Você está na página 1de 14

UNIDAD DE GESTIÓN DE TECNOLOGÍAS

DEPTARTAMENTO DE CIENCIAS EXACTAS

CURSO MATLAB-EPN
TUTOR :

ING. MILTON TORRES

TEMA:

APLICACIÓN DEL MÉTODO DE MONTE


CARLO PARA EL CÁLCULO DE ÁREAS
BAJO LA CURVA

INTEGRANTES:

LCDO. CARLOS CUENCA


LCDO. FREDIN POZO
LCDO. JHONNY ILBAY

ECUADOR – LATACUNGA - 2018


PARTE I

PLANTEAMIENTO DEL PROBLEMA

El método de Monte Carlo es un procedimiento que se aplica a sistemas de simulación


en los que existen variables de tipo estocástico, lo que implica el uso de probabilidades
y su necesaria aplicación para tratar de reducir la incertidumbre probabilística del
modelo pudiendo así saber cómo aproximarlo a la realidad luego de haberlo trabajado
un número determinado de veces. Este método pretende ser un generador de
distribuciones de probabilidad y pretende también reducir la incertidumbre probabilística
por medio de la generación aleatoria de puntos y su relación con el número de
simulaciones.

Dentro del cálculo integral, específicamente, es muy frecuente encontrar integrales que
resultan difíciles de calcular debido a su gran extensión o por la poca exactitud de los
resultados obtenidos, causando retrasos y pérdidas de todo tipo.

Debido a la dificultad referida el presente trabajo plantea la posibilidad de optimizar el


tiempo y recursos que se requieren para calcular el área bajo la curva (integral definida)
mediante el uso de programación en Matlab que permita ingresar la integral y resolverla
por los métodos de: el trapecio, Simpson y Monte Carlo. Los dos primeros son métodos
tradicionales de aproximación en el cálculo de áreas, mientras que el método de Monte
Carlo, al ser de tipo probabilístico depende del número de eventos y de puntos. Por tal
razón mientras mayor es número generado de puntos y el de simulaciones, el resultado
se acerca cada vez más al valor exacto de la integral.
PART II
CÁLCULOS

REGLA DEL TRAPECIO

La regla del trapecio es uno de los métodos más utilizados para calcular aproximaciones
numéricas de integrales definidas. Es la primera de las fórmulas cerradas de integración
de Newton – Cotes, para el caso cuando el polinomio interpolante es de grado uno.

La Regla del trapecio viene dada por la fórmula:

𝒃
𝒇(𝒂) − 𝒇(𝒃)
𝑨 = ∫ 𝒇(𝒙)𝒅𝒙 ≈ (𝒃 − 𝒂)[ ]
𝒂 𝟐

El nombre regla del trapecio se debe a la interpretación geométrica que se hace de la


fórmula. Cuando el polinomio interpolante es de grado uno, su gráfica representa una
línea recta en el intervalo [a, b] que es el área del trapecio que se forma, como se
muestra en la figura.

Fuente:
http://repositorio.uned.ac.cr/multimedias/metodos_numericos_ensenanza/modulo4/des
cripcion.html

REGLA COMPUESTA DEL TRAPECIO

Es de apreciar que el error que se llega a cometer con la regla del trapecio puede ser
significativo. Una mejor aproximación se obtiene dividiendo el intervalo de integración
en sub intervalos y aplicando en cada uno de ellos la regla trapecial. A este
procedimiento se lo conoce como Regla Trapecial Compuesta.

Fuente: http://ing.unne.edu.ar/computacion/pub/informatica/IN.pdf

Esta es la regla del trapecio para n sub intervalos. Cuantos más sub intervalos se usen,
mejor será la aproximación a la integral, hasta que la importancia de los errores por
redondeo comience a tomar relevancia.

La Regla compuesta del trapecio viene dada por la fórmula:

𝒃 𝒇(𝒙𝟎 ) + 𝟐 ∑𝒏−𝟏
𝒊=𝟏 𝒇(𝒙𝒊) + 𝒇(𝒙𝒏 )
𝑨 = ∫ 𝒇(𝒙)𝒅𝒙 ≈ (𝒃 − 𝒂)[ ]
𝒂 𝟐𝒏
REGLA DE SIMPSON 1/3

Además de la regla del trapecio, otra manera de obtener una estimación más exacta de
una integral es utilizar polinomios de orden superior para conectar los puntos. Por
ejemplo, se pueden conectar con un polinomio de tercer orden los puntos f(a), f(b) y el
punto medio entre ellos. A las fórmulas que resultan de calcular la integral bajo estos
polinomios se les llama reglas de Simpson.

Fuente: http://ing.unne.edu.ar/computacion/pub/informatica/IN.pdf

Este método consiste en la aproximación del cálculo del área plana bajo una curva
utilizando trapecios curvilíneos a partir una interpolación con una función cuadrática:

𝒃 (𝒃 − 𝒂) 𝒂+𝒃
𝑨 = ∫ 𝒇(𝒙)𝒅𝒙 ≈ [𝒇(𝒂) + 𝟒𝒇( ) + 𝒇(𝒃)]
𝒂 𝟔 𝟐

Esta aproximación es denominada “simple” debido a que utiliza tan solo un polinomio.
Requiere el conocimiento de tres puntos equiespaciados: los extremos y un punto
central. Aplicando esta expresión utilizando mayor cantidad de puntos intermedios (es
decir, realizando más de un Simpson 1/3 dentro del intervalo) puede definirse la variante
“compuesta” del método para el cual se utilizan N puntos que corresponden a n = N − 1
sub intervalos. Este caso requiere que la cantidad de sub intervalos sean pares (el caso
simple utiliza dos, por lo tanto este debe ser un múltiplo). Por lo tanto, se define un valor
h que corresponde al ancho del sub intervalo o el paso que hay entre puntos. Se calcula
𝑏−𝑎
como ℎ = 𝑛
. Finalmente, la aproximación del área se puede calcular como:

𝒏−𝟐 𝒏−𝟐
𝒃 𝟐 𝟐
𝒉
𝑨 = ∫ 𝒇(𝒙)𝒅𝒙 ≈ [𝒇(𝒂) + 𝒇(𝒃) + 𝟒 ∑ 𝒇(𝒙𝟐𝒌+𝟏) + 𝟐 ∑ 𝒇(𝒙𝟐𝒌) ]
𝒂 𝟑
𝒌=𝟎 𝒌=𝟏
MÉTODO DE MONTECARLO

El método de Montecarlo permite resolver problemas matemáticos mediante la


simulación de variables aleatorias. John Von Neumann, en los años 40 y con los
primeros ordenadores, aplica la simulación para resolver problemas complejos que no
podían ser resueltos de forma analítica. Montecarlo y su casino están relacionados con
la simulación. La ruleta, juego estrella de los casinos, es uno de los aparatos mecánicos
más sencillos que nos permiten obtener números aleatorios para simular variables
aleatorias.

Una aplicación inmediata del método, es el cálculo de integrales definidas.

La simulación consiste en iterar un proceso lógico, expresado en términos de


ecuaciones matemáticas y operaciones lógicas, constitutivas de algún modelo
matemático cuyos coeficientes son parámetros que varían según un criterio
determinado. La estructura iterativa o el carácter combinatorio de la simulación lo da la
sistemática variación de sus parámetros en cada paso o iteración, cosa que se puede
realizar haciendo intervenir al azar, o no, según el tipo de fenómeno que se trata de
simular y el modelo utilizado para describirlo. Cuando al menos una de las variables que
intervienen en el modelo es de tipo aleatorio, se estará en presencia de una simulación
estocástica, en caso contrario, cuando todas las variables que intervienen en el modelo
son deterministas, será una simulación determinista.

El método de Montecarlo es el siguiente para el cálculo de áreas:

𝒃
𝒏𝒆
𝑨 = ∫ 𝒇(𝒙)𝒅𝒙 ≈ (𝒃 − 𝒂) ∗ 𝑴
𝒂 𝑵

 𝑛𝑒 = Puntos de éxitos
 𝑁 = Total de puntos dados
 𝑀 = Cota superior
PART III
PROGRAMACIÓN EN MATLAB

ARCHIVO EJECUTABLE (main.m)

main.m
% Datos para las aproximacione
clear; clc;
a = -1;% limite inferior
b = 3;% limite superior
n = 2500;% numero de puntos aleatorios a generar para simulacion de
montecarlo
sim = 100;% numero de simulaciones de montecarlo

m = 10;% numero de modos para trapecio y simpson


f = '0.5+x.*exp(-x.^2)';% funcion a evaluar

result1 = trapecio(a,b,m,f);
result2 = simpson(a,b,m,f);
result3 = 0;

%Se repite la simulacion de montecarlo n veces (entre mayor las


repeticiones y mayor cantidad de numeros aleatorios mejor la
aproximación)
for i = 1:sim
result3 = result3 + areaMontecarlo(a,b,f,n);
end
result3 = result3/sim;
fprintf(' METODOS DE INTEGRACION
\n');
fprintf('__________________________________________________________\n'
);
fprintf('| TRAPECIO | SIMSOMP | MONTECARLO
\n');
fprintf('__________________________________________________________\n'
);
fprintf('| %f | %f | %f \n', result1, result2,
result3);
fprintf('__________________________________________________________\n'
);

REGLA COMPUESTA DEL TRAPECIO (trapecio.m)

function T = trapecio(a,b,m,fs)

f = inline(fs);
h = (b-a);
h = h/m;
T = 0;
g = 0;
p = 0;
for k = 1:(m-1)
g = k*h;
x = a + g;
p = feval(f,x);
T = T + p;
end

punto_a = a;
punto_b = b;

T = h*(feval(f,punto_a) + feval(f,punto_b))/2+h*T;
end

REGLA DE SIMPSON (simpson.m)

function s = simpson(a,b,m,fs)
f = inline(fs);
h = (b-a)/(2*m);
s1 = 0;
s2 = 0;
s3 = 0;

s1 = (h/3)*(feval(f,a) + feval(f,b));

for k = 1:(m-1)
x = a + 2*k*h;
s2 = s2 + feval(f,x);
end
s2 = ((2*h)/3)*s2;

for k = 1:m
x = a + h*(2*k-1);
s3 = s3 + feval(f,x);
end
s3 = ((4*h)/3)*s3;
s = s1 + s2 + s3;
end

MÉTODO DE MONTE CARLO (áreamontecarlo.m)

function area = areaMontecarlo(a,b,fs,n)


f = inline(fs);
A = [a:0.1:b];% ojo
B = f(A);
m = max(B) + max(B)*0.2;% se calcula la altura del trapecio

counter = 0;

for i = 1:n
%Se generan los puntos aleatorios que cumplen las comdiciones la
funcion rand genera un numero seudoaleatorio entre 0 y 1
xi(i) = (b-a)*rand + a;
yi(i) = rand*m;

% Se evalua los puntos en x(i) en la funcion


fxi(i) = f(xi(i));% f(xi)

% se verifica que los puntos generados esten o no bajo la funcion


if (yi(i) <= fxi(i))
counter = counter +1;
% Los arreglos true contienen las cordenadas de los puntos que
estan bajo la funcion.
trueX(i) = xi(i);
trueY(i) = yi(i);
end
end
% Se calcula el area aproximada
area = m*(b-a)*counter/n;

%Se generan los puntos aleatorios los puntos que estan baja la funcion
y la funcion respectivamente.
graficar(xi,yi,trueX,trueY,A,B,a,b,m,fs);
end

GRÁFICA DEL MÉTODO DE MONTE CARLO (graficar.m)

function g = graficar(xi,yi,trueX,trueY,A,B,a,b,m,fs)

% Se crean las graficas:


scatter(xi,yi,'*y');% grafico de dispercion para los puntos aleatorios
hold on % hacemos que nuestra grafica quede en pantalla y no se borre
grid on
scatter(trueX,trueY,'*g');% graficar la dispercion para los puntos
aleatorios bajo la curva

hold on % hacemos que nuestra grafica quede en pantalla y no se borre


grid on
plot(A,B,'b','linewidth',2); % Grafico de la funcion evaluada

% Se agraga titulo y labels a la grafica:


xlabel('Rango a - b');
ylabel('Altura M');
title(['AREA BAJO LA CURVA SIMULACION MONTECARLO DE:',fs]);
legend('Puntos aleatorios fuera de la curva','Puntos aleatorios bajo
la curva','Funcion');

% Se establese los limites de la grafica:


xlim([a,b]);
ylim([0,m]);
end
PROBLEMAS RESUELTOS

Para calcular el área bajo la curva de cualquier función se debe manipular el archivo
(main.m) ya que es el archivo principal.
 f : es la función a evaluar.
 a y b: son los intervalos en x donde vamos a evaluar f.
 n: número de puntos aleatorios a graficar
 sim: número de simulaciones
 m: número de modos para trapecio y simpson

𝟑
Calcular el área bajo la curva de ∫−𝟏 𝟎. 𝟓𝒙𝟑 𝒅𝒙 = , con los siguientes
parámetros.

PROBLEMA 1:

% Datos para las aproximacione


clear; clc;close
a = -1;
b = 3;
n = 20;
sim = 1;

m = 10;
f = '(0.5).*x.^3';
METODOS DE INTEGRACION
__________________________________________________________
| TRAPECIO | SIMSOMP | MONTECARLO
__________________________________________________________
| 10.160000 | 10.000000 | 6.480000
__________________________________________________________

PROBLEMA 2

a = -1;
b = 3;
n = 20;
sim = 5;

m = 10;
f = '(0.5).*x.^3';

METODOS DE INTEGRACION
__________________________________________________________
| TRAPECIO | SIMSOMP | MONTECARLO
__________________________________________________________
| 10.160000 | 10.000000 | 14.256000
__________________________________________________________

PROBLEMA 3
% Datos para las aproximacione
clear; clc;close
a = -1;
b = 3;
n = 200;
sim = 10;

m = 10;
f = '(0.5).*x.^3';

METODOS DE INTEGRACION
__________________________________________________________
| TRAPECIO | SIMSOMP | MONTECARLO
__________________________________________________________
| 10.160000 | 10.000000 | 9.558000
__________________________________________________________
PROBLEMA 4
% Datos para las aproximacione
clear; clc;close
a = -1;
b = 3;
n = 20000;
sim = 10;

m = 10;
f = '(0.5).*x.^3';

METODOS DE INTEGRACION
__________________________________________________________
| TRAPECIO | SIMSOMP | MONTECARLO
__________________________________________________________
| 10.160000 | 10.000000 | 10.038492
__________________________________________________________
PART IV
CONCLUSIÓN

Se concluye que el Método de Monte Carlo permite calcular el área bajo la curva de una
integral definida mediante una aproximación de simulaciones numéricas, donde dicha
aproximación depende del número puntos n y las simulaciones a realizar. Donde la
relación entre el número de simulaciones y los puntos a evaluar es directamente
proporcional a la aproximación del área calculada.

Você também pode gostar