随机模拟(仿真)-simulation
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收集和整理数据资料:模拟的实现往往离不开大量数据的 输入,且需要确定随机因素的概率分布特性,并以此为抽 样的根据;
编制程序:模拟运行,选择适当的计算机语言,按照系统 数学、逻辑模型编写计算机程序。
分析模拟输出结果:一般包括如下几个方面 (1)模拟结果的统计特性:均值、方差以及置信区间; (2)灵敏度分析; (3)根据确定的目标函数,在众多的实现方案中选取最
模拟的方法
设计正确的模拟时间推进机理是进行模拟的一个 非常重要的问题,模拟过程应该根据系统的特征 正确推进模拟时间,使系统中各项要素与发生的 事件保持同步,推进时间模拟的基本方法有:
(1)下次事件法:是将模拟时间由一个事件发生 时间点推进到紧接着下一个事件发生的时间点。 既时间变化幅度由事件变化确定;
用计算机模拟投石块过程和步骤如下: 1、自动生成随机点[0,1]x[0,1],模拟石块在正方形内的任意位置,用(xi,yi)表示, 共n个点;
2、判别(xi,yi)是否满足xi2+yi2≤1,即判别石块是否落在1/4单位圆内,共k个点满 足;
3、整理、统计模拟结果,用4k/n估计π。
利用matlab编程计算过程
优方案。
仿真的基础
概率论的大数定理;
微积分基础;
各种分布:在matlab模拟中,常用的随机分布为unif( 均匀分布),exp(指数分布),norm(正态分布),chi2(χ2 分布),t(t分布),f(F分布),bino(二项分布),poiss(泊松分 布),unid(整数均匀分布);
1、编写M文件:
function [pai]=fangzhenpai(n) %生成均匀分布; X=unifrnd(0,1,n,2); %判别是否落在1/4圆内; k=0; for k1=1:n
y=X(k1,1)^2+X(k1,2)^2; if y<=1
k=k+1; else
k=k; end end %整理、统计、估计结果; pai=4*k/n;
分析:假设头入正方形内的石头有n块, 有k块落入了1/4单位圆内。P为小石头 落入1/4单位圆内的概率。那么根据 Bernoull(伯努利)大数定理,有
y 1
x
0
1
lim p{| k p | } 1
n
n
即,当实验次数n充分大时,频率和概率之差小于任意数ε的概率趋于1。
而另外一方面由几何概型有
实际问题 实际解
数学、逻辑模型 计算机模型
数学、计算机解
为什么要进行仿真
实际系统建立之前,要对系统的行为或结果进行分析研究 ;
有些真实系统做实验会影响系统运行,例如,在生产中任 意改变工艺系数可能导致废品,在经济活动中随意将一个 决策付诸行动会导致经济混乱;
在系统上做多次试验,很难保证每次试验的操作条件相同 ,因而对实验结果好坏很难作出正确的判断;
随机模拟(仿真)-simulation
仿真(也称为模拟):就是用计算机程序在计算机上模仿各种实际系统的 运行过程,并通过计算了解系统随时间变化的行为或特性。
计算机仿真:是在已经建立的数学、逻辑模型之上,通过计算机实验,对一 个系统按照一定的决策原则或作业规则,由一个状态变换为另外一个状态的 行为进行描述和分析。
虽然可以用解析的方法解决问题,但是问题的分 析与计算过于复杂,这时计算机仿真可能提供简 单可行的求解方法;
希望在较短时间内观察到系统的发展全过程,以 估计某参数对系统行为的影响;
难以在实际环境中进行试验和观察,计算机仿真 是唯一的方法;
需要对系统或过程进行长期运行的比较,从大量 方案中寻找最优。
(2)固定时间步长法:此种方法模拟时间每次均 以相等的固定步长向前推进,每到达一个新的模 拟时间点需要检查相应的时间段内是否发生了事 件;(有时候需要动态调整步长)
模拟的一般步骤
明确问题,建立模型:正确描述研究的问题,明确规定模 拟的目标和任务,确定衡量系统性能或模拟输出结果的目 标函数,然后根据系统的结构及作业规则,分析系统各状 态变量之间的关系,以次为基础建立所研究的系统模型;
当人是系统的一部分时,他的行为往往实验结果有所影响 ,这时,最好进行模拟研究;
实验时间太长,费用太大,或者有危险,使得试验不容易 进行;
有些系统一旦建立起来后无法复原,例如,建立大型企业 ,要分析社会和经济效益,不能用建立起来试试看的办法 。
那些问题适合计算机仿真解决
难以用数学公式表示的系统,或者没有求解数学 模型的有效方法;
有关分布的计算功能:pdf(概率密度),cdf(分布函数 ),inv(逆概率分布),stat(均值与方差),rnd(随机数生成) ;
将分布与计算功能结合在一起,就是实现某种及算功能 ,例如,expinv就是计算指数分布的逆分布。
用随机模拟计算积分
例1
如下图所示,在正方形内有1/4单位圆。向正方形内投小石头,假设每次都 能够投进正方形内且可以落在正方形内任何一点。问,小石头落在1/4单位圆内 (包含边界)的概率多大?
2、计算过程 n=[2,20,200,2000,5000,10000,50000,100000]; >> for k=1:length(n) pai(k)=fangzhenpai(n(k)); end >> pai pai =
仿真的分类
模拟是系统状态随时间而变化的动态写照,因 此,通常时间是模拟的主要自变量,其它的变 量为因变量。
(1)按照模拟过程中因变量的变化情况,可以 将模拟分为离散、连续、混合3种类型;
(2)如果采用模拟计算机、采用数字计算机以 及联合使用则分为模拟仿真、数字仿真以及混 合仿真;
(3)根据仿真变量的特征分为随机模拟仿真和 模糊模拟仿真。
pBaidu Nhomakorabea
事件A的测度 样本空间的测度
4
在实际操作中,实验次数n不可能趋于无穷大,所以有
p 4p 4k
4
n
(数学模型)
对于估计
4k n
只有不断重复做实验,这种试验可以
具体去操作,(均匀投石块,然后数数,这样需要较高成本)。也可以让计算机去重 复试验,但是需要将数学模型转化为计算 机模拟模型(让计算机完成均匀投石块,自动计数,也需要成本)。
编制程序:模拟运行,选择适当的计算机语言,按照系统 数学、逻辑模型编写计算机程序。
分析模拟输出结果:一般包括如下几个方面 (1)模拟结果的统计特性:均值、方差以及置信区间; (2)灵敏度分析; (3)根据确定的目标函数,在众多的实现方案中选取最
模拟的方法
设计正确的模拟时间推进机理是进行模拟的一个 非常重要的问题,模拟过程应该根据系统的特征 正确推进模拟时间,使系统中各项要素与发生的 事件保持同步,推进时间模拟的基本方法有:
(1)下次事件法:是将模拟时间由一个事件发生 时间点推进到紧接着下一个事件发生的时间点。 既时间变化幅度由事件变化确定;
用计算机模拟投石块过程和步骤如下: 1、自动生成随机点[0,1]x[0,1],模拟石块在正方形内的任意位置,用(xi,yi)表示, 共n个点;
2、判别(xi,yi)是否满足xi2+yi2≤1,即判别石块是否落在1/4单位圆内,共k个点满 足;
3、整理、统计模拟结果,用4k/n估计π。
利用matlab编程计算过程
优方案。
仿真的基础
概率论的大数定理;
微积分基础;
各种分布:在matlab模拟中,常用的随机分布为unif( 均匀分布),exp(指数分布),norm(正态分布),chi2(χ2 分布),t(t分布),f(F分布),bino(二项分布),poiss(泊松分 布),unid(整数均匀分布);
1、编写M文件:
function [pai]=fangzhenpai(n) %生成均匀分布; X=unifrnd(0,1,n,2); %判别是否落在1/4圆内; k=0; for k1=1:n
y=X(k1,1)^2+X(k1,2)^2; if y<=1
k=k+1; else
k=k; end end %整理、统计、估计结果; pai=4*k/n;
分析:假设头入正方形内的石头有n块, 有k块落入了1/4单位圆内。P为小石头 落入1/4单位圆内的概率。那么根据 Bernoull(伯努利)大数定理,有
y 1
x
0
1
lim p{| k p | } 1
n
n
即,当实验次数n充分大时,频率和概率之差小于任意数ε的概率趋于1。
而另外一方面由几何概型有
实际问题 实际解
数学、逻辑模型 计算机模型
数学、计算机解
为什么要进行仿真
实际系统建立之前,要对系统的行为或结果进行分析研究 ;
有些真实系统做实验会影响系统运行,例如,在生产中任 意改变工艺系数可能导致废品,在经济活动中随意将一个 决策付诸行动会导致经济混乱;
在系统上做多次试验,很难保证每次试验的操作条件相同 ,因而对实验结果好坏很难作出正确的判断;
随机模拟(仿真)-simulation
仿真(也称为模拟):就是用计算机程序在计算机上模仿各种实际系统的 运行过程,并通过计算了解系统随时间变化的行为或特性。
计算机仿真:是在已经建立的数学、逻辑模型之上,通过计算机实验,对一 个系统按照一定的决策原则或作业规则,由一个状态变换为另外一个状态的 行为进行描述和分析。
虽然可以用解析的方法解决问题,但是问题的分 析与计算过于复杂,这时计算机仿真可能提供简 单可行的求解方法;
希望在较短时间内观察到系统的发展全过程,以 估计某参数对系统行为的影响;
难以在实际环境中进行试验和观察,计算机仿真 是唯一的方法;
需要对系统或过程进行长期运行的比较,从大量 方案中寻找最优。
(2)固定时间步长法:此种方法模拟时间每次均 以相等的固定步长向前推进,每到达一个新的模 拟时间点需要检查相应的时间段内是否发生了事 件;(有时候需要动态调整步长)
模拟的一般步骤
明确问题,建立模型:正确描述研究的问题,明确规定模 拟的目标和任务,确定衡量系统性能或模拟输出结果的目 标函数,然后根据系统的结构及作业规则,分析系统各状 态变量之间的关系,以次为基础建立所研究的系统模型;
当人是系统的一部分时,他的行为往往实验结果有所影响 ,这时,最好进行模拟研究;
实验时间太长,费用太大,或者有危险,使得试验不容易 进行;
有些系统一旦建立起来后无法复原,例如,建立大型企业 ,要分析社会和经济效益,不能用建立起来试试看的办法 。
那些问题适合计算机仿真解决
难以用数学公式表示的系统,或者没有求解数学 模型的有效方法;
有关分布的计算功能:pdf(概率密度),cdf(分布函数 ),inv(逆概率分布),stat(均值与方差),rnd(随机数生成) ;
将分布与计算功能结合在一起,就是实现某种及算功能 ,例如,expinv就是计算指数分布的逆分布。
用随机模拟计算积分
例1
如下图所示,在正方形内有1/4单位圆。向正方形内投小石头,假设每次都 能够投进正方形内且可以落在正方形内任何一点。问,小石头落在1/4单位圆内 (包含边界)的概率多大?
2、计算过程 n=[2,20,200,2000,5000,10000,50000,100000]; >> for k=1:length(n) pai(k)=fangzhenpai(n(k)); end >> pai pai =
仿真的分类
模拟是系统状态随时间而变化的动态写照,因 此,通常时间是模拟的主要自变量,其它的变 量为因变量。
(1)按照模拟过程中因变量的变化情况,可以 将模拟分为离散、连续、混合3种类型;
(2)如果采用模拟计算机、采用数字计算机以 及联合使用则分为模拟仿真、数字仿真以及混 合仿真;
(3)根据仿真变量的特征分为随机模拟仿真和 模糊模拟仿真。
pBaidu Nhomakorabea
事件A的测度 样本空间的测度
4
在实际操作中,实验次数n不可能趋于无穷大,所以有
p 4p 4k
4
n
(数学模型)
对于估计
4k n
只有不断重复做实验,这种试验可以
具体去操作,(均匀投石块,然后数数,这样需要较高成本)。也可以让计算机去重 复试验,但是需要将数学模型转化为计算 机模拟模型(让计算机完成均匀投石块,自动计数,也需要成本)。