19/09/2019, 08:04:29 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: ¡Atención! Hay que poner la matemática con LaTeX, y se hace así (clic aquí):
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Algoritmo en matlab para aproximar mediante el método Monte Carlo  (Leído 2197 veces)
0 Usuarios y 1 Visitante están viendo este tema.
tasquil
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 9


Ver Perfil
« : 12/11/2010, 11:02:00 am »

saludos amigos ,  hacer un algoritmo en matlab para aproximar mediante el método Monte carlo
lo siguiente :
[texx]1)[/texx] [texx]\displaystyle\int_{0}^{1}\displaystyle\int_{0}^{1}exp((x+y)^2)dydx[/texx]
[texx]2)[/texx] Sea U uniforme en (0,1).  utilice simulación para aproximar lo siguiente:
[texx]a)[/texx] [texx]cov(U,\sqrt[ 2]{1-U^2})[/texx].
[texx]b)[/texx] [texx]cov(U^2,\sqrt[ 2]{1-U^2})[/texx].

 El valor verdadero con 5 decimales de precisión es
4.89916 ,
Nota: hay que utilizar el comando rand la cual genera números aleatorios
En línea
mathtruco
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 4.903

El gran profesor inspira


Ver Perfil
« Respuesta #1 : 13/11/2010, 06:46:39 pm »

Hola tasquil,

 En general, la programación de un método numérico es directa de mirar el agoritmo (que de seguro te dieron en clases).

De hecho, son tan standard que con un minuto de búsqueda en google puedes encuentrarlos listos:

http://www.scribd.com/doc/42090720/Metodo-de-Monte-Carlo-Para-La-Evaluacion-Numerica-de-Integrales-Claudio-Duran
En línea
tasquil
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 9


Ver Perfil
« Respuesta #2 : 13/11/2010, 06:54:15 pm »

lo que he podido hacer es el siguiente algoritmo para el primer ejercicio  si alguien me puede ayudar a mejorarlo

function[theta]=mmcgrupo2(k)

clear
clc
for [texx]k=100[/texx]
x=rand(1,k);y=rand(1,k);
[texx]a=(x+y)[/texx];
[texx]z=exp(a.^2)[/texx];
[texx]theta=sum(z)./k[/texx]
end
En línea
mathtruco
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Chile Chile

Mensajes: 4.903

El gran profesor inspira


Ver Perfil
« Respuesta #3 : 13/11/2010, 06:58:12 pm »

Me parece que no has visto mi respuesta  anterior :indeciso:

mírala y dinos si resulve tu primer problema.

Para el segundo, debes encontrar una expresión para la varianza que sea una integral de algo, y aplicar al método que programaste en la primera parte. Dinos qué problema te da esta parte.




PS: los códigos (en matlab, por ejemplo) son texto plano, por lo que no deben ponerse en latex.

Podrías utilizar el comando [tt][/tt]

clear
clc
for [k=100]
x=rand(1,k);y=rand(1,k);
[a=(x+y)] ;
[z=exp(a.^2)] ;
[theta=sum(z)./k]
end



o bien, el comando [code][/code]

Código:
clear
clc
for [k=100]
x=rand(1,k);y=rand(1,k);
[a=(x+y)] ;
[z=exp(a.^2)] ;
[theta=sum(z)./k]
end
En línea
tasquil
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 9


Ver Perfil
« Respuesta #4 : 17/11/2010, 09:35:51 pm »

lo que he podido hacer es el siguiente algoritmo para el primer ejercicio  si alguien me puede ayudar a mejorarlo

function[theta]=MetodoMontecarlo(k)

clear
clc
for [texx]k=100[/texx]
x=rand(1,k);y=rand(1,k);
[texx]a=(x+y)[/texx];
[texx]z=exp(a.^2)[/texx];
[texx]theta=sum(z)./k[/texx]
end

En línea
tasquil
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 9


Ver Perfil
« Respuesta #5 : 17/11/2010, 09:44:41 pm »

Respuesta 2a)

Código:
function[theta]=Metodomontecarlo(k)
%Aproxima por el metodo de monte Carlo a la ecuacion cov(U,sqrt(1-U^2))
clc
k=100;
U1=rand(1,k);
Z1=U1;
theta1=sum(U1)/k
U2=rand(1,k);
Z2=sqrt(1-U2.^2);
theta2=sum(Z2)/k
theta3=theta1*theta2
Z3=Z1.*Z2;
theta4=sum(Z3)/k
theta=theta4-theta3
En línea
tasquil
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 9


Ver Perfil
« Respuesta #6 : 17/11/2010, 09:50:35 pm »

Respuesta 2b)

Código:
function[theta]=Metodomontecarlo(k)
%Aproxima por el metodo de monte Carlo a la ecuacion cov(U.^2,sqrt(1-U^2))
clc
k=100;
U1=rand(1,k);
Z1=U1.^2;
theta1=sum(U1.^2)/k
U2=rand(1,k);
Z2=sqrt(1-U2.^2);
theta2=sum(Z2)/k
theta3=theta1*theta2
Z3=Z1.*Z2;
theta4=sum(Z3)/k
theta=theta4-theta3
En línea
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!