📄 mente_carl.txt
字号:
蒙特卡洛模拟法确定零件强度的概率分布和数字特性,其步骤如下:
(a)确定零件强度S与其影响因素(变量)之间的函数关系S=g(x1,x2,……,xn)。
(b)确定零件强度函数中每一个变量xi的概率密度函数f(xi)和累积概率分布函数F(xi),如图3-1所示,假定这些变量是相互独立的。
(c)对强度函数中的每一变量xi,在[0,1]之间生成许多均匀分布的随机数F(xij)
式中 i——变量个数,i=1,2,……n;
j——模拟次数,j=1,2,……m。
对于给定的F(xij),可由上式解出相应的xij。所以,对每一个变量xi,每模拟一次可得一组随机数(x1j,x2j,……,xnj),例如第一次模拟得出的一组随机数为(x11,x21,……,xn1)
(d)计算零件强度函数S的统计特征量。将每一次模拟得到的随机数值代入函数的方程中,得
S1=g(x11,x21,……,xn1)
S2=g(x12,x22,……,xn2)
S2=g(x1m,x2m,……,xnm)
因此得到强度函数S的均值和标准差为
以上两式指的是样本的均值和样本的标准差。
(e)做强度函数S的直方图,并拟合其他布。将函数Sj值按升序排列,得
S1<S2<…<Sj<…<Sm
由此做出直方图,可从正态分布、威布尔分布、对数正态分布、指数分布中,拟合出一至两种可能的分布。
(f)对强度分布做假设检验。
可用x2检验或K-S检验,以得到拟合较好的一种分布,并可用数理统计的区间侉计方法,估计出统计模拟结果的误差。
g(x)=f(m,n,L), 其中,m,n,L均服从正态分布,分布情况也在所给的图中.
请使用matlab,用蒙特卡罗模拟法 对该函数进行模拟,得出g(x)大于0的概率.
function func_baidu_monte_carlo
randn('state', sum(100*clock));
%利用时钟设置随机种子,这样每次产生的随机数就不同了
N = 1000000;
% 设置样本个数
m = 0.43 + sqrt(0.008) * randn(N,1);
n = 0.19 + sqrt(0.008) * randn(N,1);
L = 0.5 + sqrt(0.008) * randn(N,1);
%随机生成m, n, L,根据他们各自的分布
g = 16.4445 .* (m.*m.*L./(m.*m+n.*n))-8.2;
%计算g
fprintf('the probability of g>0 is %.2f\n', sum(g>0)/length(g));
%统计 g>0的概率,结果为0。18
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -