检测性能的蒙特卡罗仿真 一、实验目的 进一步熟悉蒙特卡洛仿真方法及其在检测性能分析中的应用。 二、实验内容 仿真高斯白噪声中恒定电平检测的性能。 设有两种假设: H0: zi = vi H1: zi = A + vi (i = 1, 2, …, N) (i = 1, 2, …, N) 其中{vi}是服从均值为零、方差为 σ2 的高斯白噪声序列,假定参数 A 是已知的,且 A>0,采用纽曼—皮尔逊准则,假定虚警概率为 10-4, 仿真分析检测概率与信噪比的关系曲线。 三、实验要求 信噪比用分贝表示,仿真曲线要和理论计算曲线进行比较。 四、实验原理 纽曼—皮尔逊准则原理 设虚警概率 为常数。纽曼—皮尔逊准则判决表达式为 门限 λ 由给定的虚警概率确定,即 本实验中,纽曼—皮尔逊准则判决函数为 将 代入,有 故 即 故 此时,虚警概率 PF 和检测概率 PD 分别为 1 故 从而 其中 知,故 , 可以看作信噪比。 d 本实验中虚警概率 已 取定观测次数 N,则可得出 PD—d 的关系曲线(检测器的检测性能曲 线) 。 蒙特卡罗仿真原理 蒙特卡罗仿真主要是利用统计方法估算积分值, 类似于向一个有 内切圆的正方形中多次重复掷米粒来估算圆的面积(以便估算圆周 率)这样的方法,原理上属于古典概型。应用蒙特卡罗仿真的一般步 骤是: (1)建立合适的概率模型; (2)进行多次重复试验; (3)对重复试验结果进行统计分析、分析精度。 2 重复试验次数越多,仿真结果越准确。 五、实验过程及结果 绘制理论检测性能曲线代码如下(观测次数取 8) : d=01:001:10; A=1; sigma=A/d; pf=10e-4; N=8; pd1=Q(Qinv(pf)ones(1,length(d))-sqrt(N)d); plot(20log(d),pd1,'k'); grid xlabel('信噪比d(dB)'); ylabel('PD'); title('理论检测性能曲线'); 仿真结果如下图: 绘制蒙特卡罗仿真检测性能曲线的代码如下(仿真 500 次) : d=01:001:10; A=1; sigma=A/d; pf=10e-4; 3 N=8; M=500; lamda=sigma/sqrt(N)Qinv(pf); pd2=zeros(1,length(d)); for i=1:length(d); for j=1:M; samp=Aones(1,N)+sigma(i)randn(1,8); if sum(samp)/N>lamda(i) pd2(i)=pd2(i)+1; end; end pd2(i)=pd2(i)/M; end plot(20log(d),pd2,'k'); grid xlabel('信噪比d(dB)'); ylabel('PD'); title('蒙特卡罗仿真曲线'); 仿真结果如下图: 当增加仿真次数时, 仿真结果与理论结果越来越接近, 情况如下: 仿真 仿真结果 次数 4 1000 5000 10000 5 50000 6
蒙特卡罗法也称统计模拟法、统计试验法。是把概率现象作为研究对象的数值模拟方法。是按抽样调查法求取统计值来推定未知特性量的计算方法。蒙特卡罗是摩纳哥的著名赌城,该法为表明其随机抽样的本质而命名。故适用于对离散系统进行计算仿真试验。在计算仿真中,通过构造一个和系统性能相近似的概率模型,并在数字计算机上进行随机试验,可以模拟系统的随机特性
蒙特卡洛法(又称统计试验法)是描述装备运用过程中各种随机现象的基本方法,而且它特别适用于一些解析法难以求解甚至不可能求解的问题,因而在装备效能评估中具有重要地位。
用蒙特卡洛法来描述装备运用过程是1950年美国人约翰逊首先提出的。这种方法能充分体现随机因素对装备运用过程的影响和作用。更确切地反映运用活动的动态过程。在装备效能评估中,常用蒙特卡洛法来确定含有随机因素的效率指标,如发现概率、命中概率、平均毁伤目标数等;模拟随机服务系统中的随机现象并计算其数字特征;对一些复杂的装备运用行动,通过合理的分解,将其简化成一系列前后相连的事件,再对每一事件用随机抽样方法进行模拟,最后达到模拟装备运用活动或运用过程的目的。[2]
基本思路
蒙特卡洛法的基本思想是:为了求解问题,首先建立一个概率模型或随机过程,使它的参数或数字特征等于问题的解:然后通过对模型或过程的观察或抽样试验来计算这些参数或数字特征,最后给出所求解的近似值。解的精确度用估计值的标准误差来表示。蒙特卡洛法的主要理论基础是概率统计理论,主要手段是随机抽样、统计试验。用蒙特卡洛法求解实际问题的基本步骤为:
(1)根据实际问题的特点.构造简单而又便于实现的概率统计模型.使所求的解恰好是所求问题的概率分布或数学期望;
(2)给出模型中各种不同分布随机变量的抽样方法;
(3)统计处理模拟结果,给出问题解的统计估计值和精度估计值。[2]
优缺点
蒙特卡罗法的最大优点是:
1方法的误差与问题的维数无关。
2对于具有统计性质问题可以直接进行解决。
3对于连续性的问题不必进行离散化处理
蒙特卡罗法的缺点则是:
1对于确定性问题需要转化成随机性问题。
2误差是概率误差。
3通常需要较多的计算步数N
蒙特卡罗法作为一种计算方法,是由美国数学家乌拉姆(Ulam , S M)与美籍匈牙利数学家冯·诺伊曼(von Neumann,J)在20世纪40年代中叶,为研制核武器的需要而首先提出来的实际上,该方法的基本思想早就被统计学家所采用了例如,早在17世纪,人们就知道了依频数决定概率的方法。
步骤
蒙特卡洛法是一种用来模拟随机现象的数学方法,这种方法在作战模拟中能直接反映作战过程中的随机性。在作战模拟中能用解析法解决的问题虽然越来越多,但有些情况下却只能采用蒙特卡洛法。使用蒙特卡洛法的基本步骤如下:
(1)根据作战过程的特点构造模拟模型;
(2)确定所需要的各项基础数据;
(3)使用可提高模拟精度和收敛速度的方法;
(4)估计模拟次数;
(5)编制程序并在计算机上运行;
(6)统计处理数据,给出问题的模拟结果及其精度估计。
在蒙特卡洛法中,对同一个问题或现象可采用多种不同的模拟方法,它们有好有差,精度有高有低,计算量有大有小,收敛速度有快有慢,在方法的选择上有一定的技巧。[3]
应用举例
在我方某前沿防守地域,敌人以1个炮兵排(含两门火炮)为单位对我方进行干扰和破坏。为躲避我方打击,敌方对其指挥所进行了伪装并经常变换射击地点。经过长期观察发现,我方指挥所对敌方目标的指示有50%是准确的,而我方火力单位在指示正确时,有1/3的射击效果能毁伤敌人1门火炮,有1/6的射击效果能全部消灭敌人。
解:希望能用某种方法把我方将要对敌人实施的20次打击结果显示出来,确定有效射击的比率及毁伤敌方火炮的平均值。这是一个概率问题,可以通过理论计算得到相应的概率和期望值。但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程。
为了显示我方20次射击的过程,必须用某种方式模拟出以下两件事:一是观察所对目标的指示正确或不正确;二是当指示正确时,我方火力单位的射击结果。对第一件事进行模拟试验时有两种结果,每一种结果出现的概率都是1/2。因此,可用投掷1枚硬币的方式予以确定。当硬币出现正面时为指示正确,反之为不正确。对第二件事进行模拟试验时有3种结果,毁伤1门火炮的可能为1/3,毁伤2门火炮的可能为1/6,没能毁伤敌火炮的可能为1/2。这时,可用投掷骰子的办法来确定,如果出现的是1、2、3三个点则认为没能击中敌人,如果出现的是4、5点则认为毁伤敌1门火炮,如果出现6点则认为毁伤敌2门火炮。
通过上面的方式,就可把我方20次射击的过程动态地显现出来。
以前没怎么用mathematica, 语言不熟悉,if 的结构很怪。。
不过这题手算也很快的!
income 是 举办者的收入
For[k = 0, k < 10, k++,
income = 0
For[i = 0, i < 1000, i++,
S = 0
For[j = 0, j < 10, j++,
S = S + RandomChoice[{10, 5}]
]
If[S == 50 || S == 100, income = income - 100,
If[S == 55 || S == 95, income = income - 10,
If[S == 70 || S == 75 || S == 80, income = income + 1]
]
]
]
Print[income]
]
执行一次结果是
364
367
331
259
307
170
281
367
242
152
stata的命令是simulate exp_list(你期望模特卡洛模拟做的变量),seed(1010) rep(1000): command(你的命令,eg reg y x1 x2)
那个command的地方可以自己编程,用program命令,然后可以跑出你想要的仿真结果,更加稳健
蒙特卡洛模拟又称为随机抽样或统计试验方法,属于计算数学的一个分支,它是在上世纪四十年代中期为了适应当时原子能事业的发展而发展起来的。传统的经验方法由于不能逼近真实的物理过程,很难得到满意的结果,而蒙特卡罗方法由于能够真实地模拟实际物理过程,故解决问题与实际非常符合,可以得到很圆满的结果。
蒙特卡洛随机模拟法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。
蒙特卡洛随机模拟法 - 实施步骤抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。
扩展资料基本原理思想
当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。这就是蒙特卡罗方法的基本思想。
蒙特卡罗方法通过抓住事物运动的几何数量和几何特征,利用数学方法来加以模拟,即进行一种数字模拟实验。它是以一个概率模型为基础,按照这个模型所描绘的过程,通过模拟实验的结果,作为问题的近似解。可以把蒙特卡罗解题归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。
参考资料来源:百度百科-蒙特卡罗模拟
参考资料来源:百度百科-蒙特卡洛随机模拟法
以上就是关于matlab 已知门限怎么求虚警概率蒙特卡罗仿真全部的内容,包括:matlab 已知门限怎么求虚警概率蒙特卡罗仿真、蒙特卡洛方法原理、mathematica帮我用这个程序编程用蒙特卡洛模拟算这题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)