1、什么是数值模拟? 是数学建模的一个重要方法 多用于随机过程,样本处理 结论不是精确的,但再一定程度上可以刻画研究对象,对难解和随机的模型多了讨论的空间 计算机的发展带来模拟的广泛应用 模型正确以及模拟次数越多往往意味越接近事实 数值模拟的一般步骤 建立数学模型 写出计算程序 选择随机数 将随机数带入程序进行运算 得到计算结果 重复上述过程 将得到的结果分布画出模拟的几个主要方面 积分Monte-Carlo 方法 泊松过程模拟 排队理论 正态分布模拟 布朗运动 随机游走 马式链例(离散事件模拟) 图书馆里有一本教学参考书,下表显示连续索借间隔时间和借出时间与概率之间的关系:索借间隔时间(天)12
2、345概率0.10.40.30.10.1累积概率0.10.50.80.91借出时间(天)2345678概率0.050.100.150.20 0.25 0.150.10累积概率0.050.150.300.50 0.75 0.901.00模型假定 1。开始第一天时这本书借出,该书应该在第五天归还 2。还书在每天开始时完成,从而可应对当天的索借需求建模 定义2个事件: 事件1:下一个索借发生 事件2:书本归还 选择随机数事件1模拟 计算机生成随机数,对应表1订出相应的索借间隔时间,例如: 随机数0.0413下一个索借请求时间为1天后 随机数0.8663对应一个索借请求时间为4天后 事件2模拟 计算机
3、生成随机数,对应表2订出相应的借出时间,例如: 随机数0.3381对应书本借出时间为天 随机数0.7973对应书本借出时间为 7天 填表天书应归还:(天首)下个索借请求(天)借者持书时间(天) 索借请求?拒绝?161+1=25-262+2=45-如:事件1得到第一个随机数0.0413 (对应1天), 事件2得到第一个随机数0.3381(对应5天)解模 写出Matlab程序, 1.模拟30天内索借请求序列 2.模拟30天内该书借出状态序列 3.回答索借请求被拒绝的概率以及书本在外的时间比例 4.考虑模拟该书有两本Copy的情形例2 马式链的模拟 设设 t=1,2, 表示年龄的时段,假定在表示年龄
4、的时段,假定在一年中,今年健康而明年患病的概率一年中,今年健康而明年患病的概率是是 0.2 而今年患病明年转为健康的概而今年患病明年转为健康的概率为率为 0.7 假设一个人在初时处于健康假设一个人在初时处于健康状态,我们来研究若干年之后他健康状态,我们来研究若干年之后他健康状态的过程。状态的过程。例2 cont. 模拟马式过程,先要抽出一随机数p 可以通过上次确定状态的办法: 如果是健康状态且p=0.2,则下一状态为健康 如果是健康状态且p=0.2,则下一状态为健康 重复上述过程例2 cont. 写出Matlab 程序模拟十年,二十年这个过程; 反复模拟30次,计算在二十年这个节点,这30次模
5、拟的结果健康和生病状态的比例; 比较理论结果 模拟有死亡可能性的状态过程例3 二叉树模拟 股票价格服从二叉数运动,即第二天的价格只有两种可能:分别以概率p上跳u倍,或以1-p的概率下跳d倍 写成随机方程: 1(1),0,1,.iiitttSpuSp dSi(天)例3 cont. 试模拟当 ,一个月后的股价(不考虑休市)。 进一步在股票价格满足几何布朗运动模型的基础上模拟一般的股票运行过程,即 取 是Winner过程01,1/1.1,0.6Sudp2()20,trt WtSS e001,0.1,0.5,0,(0, ),tSrWWNt其中附表:Matlab随机数生成器 betarnd 贝塔分布贝塔
6、分布 binornd 二项分布二项分布chi2rnd 卡方分布卡方分布 exprnd 指数分布指数分布 frnd f分布分布 gamrnd 伽玛分布伽玛分布 geornd 几何分布几何分布 hygernd 超几何分布超几何分布 lognrnd 对数正态分布对数正态分布 nbinrnd 负二项分布负二项分布 ncfrnd 非中心非中心f分布分布 nctrnd 非中心非中心t分布分布 ncx2rnd 非中心卡方分布非中心卡方分布 normrnd 正态正态(高斯高斯)分布分布 poissrnd 泊松分布泊松分布 raylrnd 瑞利分布瑞利分布 trnd 学生氏学生氏t分布分布 unidrnd 离散均匀分布离散均匀分布 unifrnd 连续均匀分布连续均匀分布 weibrnd 威布尔分布威布尔分布