logo资料库

基于matlab的蒙特卡洛方法对可靠度的计算.pdf

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
基于 MATLAB 的蒙特卡洛方法对可靠度的计算 ——《可靠性工程》大作业
目录 2
摘要 对于简单的概率计算,我们可以用离散或者连续的概率分布模型进行求解; 但是对于复杂的模型的近似解的求解,蒙特卡洛方法是一种非常方便的方法。蒙 特卡洛方法将最复杂的计算部分交给了电机计算机来完成,极大的方便了我们的 求解过程。 本文主要是用 MATLAB 编写蒙特卡洛的模拟程序,然后分别验证两个正态分布 的模型和两个非正态分布的模型。非正态分布的模型中的随机变量序列都是独立 同分布的,这样我们可以方便的用列维-林德伯格中心极限定理进行处理。 【关键字】:复杂模型、蒙特卡洛、MATLAB、正太分布、独立同分布的非正 态模型、列维-林德伯格中心极限定理 3
绪论 计算机技术的发展,促进了蒙特卡洛方法的推广、普及以及完善等。蒙特卡洛 方法诞生之初是不被重视的,因为当时的计算机技术没有达到与之匹配的程度。 蒙特卡洛模拟也称为随机模拟方法,或随机抽样技术。它是一种以概率论和数 理统计为基础,通过对随机变量的统计实验、随机模拟来求解问题近似解的数值 方法。它的主要思想是:为了求解数学、物理、化学及工程问题,建立一个概率 模型或随机过程,使它的参数等于问解;然后通过对模型或过程的观察或抽样来 计算所求参数的统计特征(如均值、概率等),作为待解问题的数值解,最后给出 所求解的近似值,而解的精度可用估计值的方差来表示。蒙卡洛模拟的步骤是: 首先建立简单而又便于实现的概率分布模型,使分布模型的某些特征(如模型的 概率分布或数学期望)恰好是所求问题的解;然后根据概率分布模型的特点和计 算的需要改进模型,以便减少方差,降低费用,提高计算效率;再对分布模型进 行随机模拟,其中包括建立产生伪随机数的方法和建立对所遇到的分布产生随机 变量样本的随机抽样方法;最后建立各种统计量的估计,获得所求解的统计估计 值及其方差。蒙特卡洛模拟方法可分为直接蒙特卡洛模拟、间接蒙特卡洛模拟和 蒙特卡洛积分。 (1)直接蒙特卡洛模拟采用随机数来模拟本身具有复杂随机过程的效应。该方法 是按照实际问题所遵循的概率统计规律,用计算机进行直接的抽样,然后计算其 统计参数。直接蒙卡洛模拟法能充分体现蒙特卡洛方法的特殊性和优越性,因而 在物理中得到了广泛的应用,该方法也就是通常所说的“计算机实验”。 (2)间接蒙特卡洛模拟是人为地构造出一个合适的概率模型,依照该模型进行大 量的统计实验,使它的某些统计参数恰好是待求问题的解。Buffon 投针实验就是 运用间接蒙特卡洛模拟来求解π。 (3)蒙特卡洛积分是利用随机数系列计算积分的方法,积分维数越高,效率越高。 定积分的计算是蒙特卡洛方法被引入计算数学的开端,这里以定积分的计算说明 其处理确定性问题的方法。如计算定积分: s 1  k 0 )( dxxf 0  1)( xf  此时,求定积分亦即求边长为 1 的正方形中一个曲边梯形的面积问题,如图 2 所 示。可以随机地向正方形内投点,然后统计落在曲线下的点数 M ,当总的投点 N 充分大时, kM / 就近似等于积分值 s。 N 4
一、编写 Monte Carlo 模拟程序 1.模型的建立 本章节根据抛掷骰子编制Monte Carlo 模拟程序,验证各点出现的概率均为1/6。 2.模拟流程图绘制 初始化 i=i+1 K=? K=1 K=2 K=3 K=4 K=5 K=6 K1+1 K2+1 K3+1 K4+1 K5+1 K6+1 i<1000000 Y N P1 P2 P3 P4 P5 P6 3.Monte Carlo 程序编写 图 1.1 流程图 Monte Carlo 模拟程序(Matlab) clear N=1000000; K_1=0; 5
K_2=0; K_3=0; K_4=0; K_5=0; K_6=0; K=randi(6,N,1); for i=1:N if K(i,1)==1 K_1=K_1+1; end if K(i,1)==2 K_2=K_2+1; end if K(i,1)==3 K_3=K_3+1; end if K(i,1)==4 K_4=K_4+1; end if K(i,1)==5 K_5=K_5+1; end if K(i,1)==6 K_6=K_6+1; end end P_1=K_1/N P_2=K_2/N 6
P_3=K_3/N P_4=K_4/N P_5=K_5/N P_6=K_6/N hist(K,6) 4.模拟结果及结论 Monte Carlo 模 拟 得 到 , P_1=16.639%; P_2=16.605%;P_3=16.712%; P_4=16.710%;P_5=16.625%;P_6=16.710%。各项约为总数的 1/6,符合理论情况。 通过模拟可以得到分布直方图(图 1.2)。 18 16 14 12 10 8 6 4 2 0 104 1 2 3 4 5 6 图 1.2 分布直方图 7
二、关于两个服从正态分布的可靠性验证 机械结构的可靠性设计中的应力-强度干涉理论的理论计算和采用蒙的卡罗方 法对其进行验证。MATLAB 自带有产生正态分布的随机数,所以我们用 MATLAB 对 N=100000 实验次数进行验证。计算次数为 3 次。 理论计算:首先根据可靠度 R=0.999,可得可靠度系数 Z=     S L 2 L S 2 =3.191, 然后我们确定应力 XL(正态分布)的参数,均值 =200,方差 =5776,;然后 L 2 L 再确定强度 XS(正太分布)的参数,均值 =500,方差 =3062.71。 S 2 S 流程图的绘制 初始化 i=i+1 Z=S-L Z<0 N n=n+1 i
分享到:
收藏