数学建模社区-数学中国

标题: 各位大侠,能给个蒙特卡罗算法及介绍,谢谢。 [打印本页]

作者: tankstrong    时间: 2005-3-31 22:22
标题: 各位大侠,能给个蒙特卡罗算法及介绍,谢谢。

各位大侠,能给个蒙特卡罗算法及介绍,谢谢。


作者: 罗炳    时间: 2005-4-22 21:59
可是现在没有能力下载阿[em06]
作者: andy_taoke    时间: 2005-4-27 01:28
没有点数怎么 办啊?
作者: ilikenba    时间: 2005-4-27 08:52

蒙特卡罗(Monte Carlo)方法,或称计算机随机模拟方法,是一种基于“随机数”的计算方法。这一方法源于美国在第一次世界大战进研制原子弹的“曼哈顿计划”。该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城—摩纳哥的Monte Carlo—来命名这种方法,为它蒙上了一层神秘色彩。 4 v0 B7 w/ s3 Y7 {  Monte Carlo方法的基本思想很早以前就被人们所发现和利用。早在17世纪,人们就知道用事件发生的“频率”来决定事件的“概率”。19世纪人们用投针试验的方法来决定圆周率π。本世纪40年代电子计算机的出现,特别是近年来高速电子计算机的出现,使得用数学方法在计算机上大量、快速地模拟这样的试验成为可能。 - O) y. t" d' n7 }+ l   考虑平面上的一个边长为1的正方形及其内部的一个形状不规则的“图形”,如何求出这个“图形”的面积呢?Monte Carlo方法是这样一种“随机化”的方法:向该正方形“随机地”投掷N个点落于“图形”内,则该“图形”的面积近似为M/N。 0 L* s W. |* W3 y; R2 t& z/ g, Y. X  可用民意测验来作一个不严格的比喻。民意测验的人不是征询每一个登记选民的意见,而是通过对选民进行小规模的抽样调查来确定可能的优胜者。其基本思想是一样的。 5 j- L1 d% c4 ?) n9 j8 ?& Q2 O7 `  科技计算中的问题比这要复杂得多。比如金融衍生产品(期权、期货、掉期等)的定价及交易风险估算,问题的维数(即变量的个数)可能高达数百甚至数千。对这类问题,难度随维数的增加呈指数增长,这就是所谓的“维数的灾难”(Course Dimensionality),传统的数值方法难以对付(即使使用速度最快的计算机)。Monte Carlo方法能很好地用来对付维数的灾难,因为该方法的计算复杂性不再依赖于维数。以前那些本来是无法计算的问题现在也能够计算量。为提高方法的效率,科学家们提出了许多所谓的“方差缩减”技巧。 / G# F' N; V$ N3 S   另一类形式与Monte Carlo方法相似,但理论基础不同的方法—“拟蒙特卡罗方法” 5 L/ v$ \ \) K3 s* x (Quasi-Monte Carlo方法)—近年来也获得迅速发展。我国数学家华罗庚、王元提出的“华—王”方法即是其中的一例。这种方法的基本思想是“用确定性的超均匀分布序列(数学上称为Low Discrepancy Sequences)代替Monte Carlo方法中的随机数序列。对某些问题该方法的实际速度一般可比Monte Carlo方法提出高数百倍,并可计算精确度。

具体实现的matlab代码: / [" \7 s+ }3 ?6 T. l! w. i---------------------------------------------------------------------------------------------------, p# [6 |/ s8 D U, F function val = ballvol(n, m)/ |( g& T7 k1 K9 S' T % BALLVOL Compute volume of unit ball in R^n! c! g5 T8 F5 _% m, M0 G) H" S % 6 Z& o" P: O* {# B% Computes the volume of the n-dimensional unit ball * k' ~" h4 E; U7 x! `% using monte-carlo method.# n4 B4 Q( M8 _; _& q" A1 M % usage: val = BallVol(n, m) % `& G7 j1 k: u. |9 F6 G% where: n = dimension ) R' [/ |4 \5 l. c3 T$ J % m = number of realisations * u+ P5 J" l3 i/ t8 l# V, q% If the second argument is omitted, 1e4 is taken as default for m. 7 [/ J! R9 R# J* Q. p( a3 W4 t( J' ~; \$ A5 z+ l1 i % (c) 1998, Rolf Krause, krause@math.fu-berlin.de' I' C& O1 j, C1 N7 g! h ( W9 B9 ]0 w; T& A7 g+ L9 [0 _; ?5 Y M = 1e4;/ c% t% A( ?$ ] error = 0; 6 a/ i5 s3 Y1 T& [: i& xif(nargin <1 | nargin > 2), error('wrong number of arguments'); end 8 ~0 ]( R3 f1 d) M/ Mif nargin == 2, M = m; end - m) i/ V1 D* H; U; p8 j3 h $ ^8 s& o; X* [3 y& {1 Q7 yR = rand(n, M);& i- f9 _. s+ A6 l0 o in = 0;1 Z& d7 J3 }0 A" a- H$ {, g$ Y for i=1:M 3 a' p: F8 X, jif(norm(R(:,i),2) <= 1.0), in = in+1; end + Y% M) D+ Y1 d6 y8 Iend + X$ T, f8 q1 Y' u6 u( U4 ?6 Q5 U4 A( b val = 2^n*in/M;0 q- V( Q; o' a! i% ] --------------------------------------------------------------------------------------------------& [4 @5 k% G% R6 I# S


作者: 罗炳    时间: 2005-4-27 10:25

有哪些M-C方法的书,并且用matlab编程的,我见过的都是用

FORTRAN编程的啊

请教啦


作者: zhangkmust    时间: 2005-8-4 17:05

五楼,

, K' ]8 L( ]) A9 ]

好样的


作者: glise    时间: 2005-8-4 21:34
http://vib.hit.edu.cn/vibbbs/dispbbs.asp?boardID=25&ID=1631&page=1
作者: johhan    时间: 2005-8-6 10:36

ilikenba,不错,谢谢


作者: totti_harper    时间: 2007-1-28 17:55
谢谢
作者: totti_harper    时间: 2007-1-28 17:58
不能下载啊,求助!
作者: li6701    时间: 2007-3-31 09:25
thanks
作者: hong_yu5    时间: 2007-7-9 15:17

需要


作者: y6838002    时间: 2009-1-1 12:56
链接的网址怎么都打不开呀
作者: webzhou    时间: 2009-1-8 09:12
10# totti_harper
作者: qq379631818    时间: 2009-5-2 21:33
下载回复,下载
作者: qq379631818    时间: 2009-5-2 21:34
回复下载,下载
作者: ascnill    时间: 2009-5-20 19:57
谢谢!我也很想知道呢:)
作者: hedgehogpig    时间: 2009-6-4 16:26
1# tankstrong 7 A( g; Z% m2 F6 k0 C( w
我这有个课件[attach]6143[/attach]

蒙特卡罗方法课件.rar

1.16 MB, 下载次数: 9, 下载积分: 体力 -2 点


作者: wangjian31791    时间: 2009-7-30 11:46
看看  下载
作者: xmiaobin    时间: 2010-7-29 21:28
支持楼主,我也想要
作者: pershingb    时间: 2010-9-5 19:56
去百度百科看了一下结果。。
作者: 54jianyin    时间: 2010-9-6 22:30
谢谢。。。。。。。。。。。。。。。。
作者: funny119    时间: 2011-11-15 19:09
谢谢,非常感谢
作者: rock123    时间: 2011-11-15 21:56
顶 谢谢楼主
作者: 平平凡凡的我    时间: 2011-12-30 20:00
ilikenba 介绍的很清楚,作为初学者的我很是感兴趣,得好好学一阵子了
作者: 阮大侠    时间: 2011-12-31 17:07
很酷的算法!!!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5