我想计算失败的概率,采用蒙特卡罗方法。
极限状态方程是通过比较时间t,C(x = a,t)的物质含量和临界含量Ccrit得到的:
LSF: g(Ccrit, C(x=a,t)) = Ccrit - C(x=a, t) < 0
Ccrit遵循β分布Ccrit~B(平均值= 0.6,s = 0.15,a = 0.20,b = 2.0)。生成分布:
r=((mean-a)/(b-a))*((((mean-a)*(b-mean))/(s^2))-1)
t=((b-mean)/(b-a))*((((mean-a)*(b-mean))/(s^2))-1)
Ccrit=beta.rvs(r,t,a,b,1e6)
C(x = a,t)是11个其他变量(β,正态,确定性,对数正态等)的函数,并随时间t而变化。这些变量已经采用scipy.stats定义,例如:
Var1=truncnorm.rvs(0, 1000, 60e-3, 6e-3, 1e6)
(...)
Var11=Csax=dist.lognormal(l, z, 1e6)
在生成所有变量之后,我很难计算pf。
我见过:
P(Ccrit < C) = integral -inf to +inf Fccrit(c) * fC(c) dc
导致了pf,但我对如何计算它一无所知。
非常感谢您的帮助,
谢谢
答案 0 :(得分:1)
嗯,我如何理解你的问题,这是从蒙特卡罗原始模拟中计算失败概率的方法:
pf = sum(I(g(x))/N
where:
N - is the number of simulations
x - is the vector of all the involved random variables
I(arg) - is an indicator function, defined as:
if arg < 0
I = 1
else
I = 0
end
模拟方法基本上是为了规避复杂或不可能的积分,在这种情况下不需要你提到的集成。
请注意,估算值的变异系数与1/sqrt(N)
成正比。
我尽可能清楚地记下这些符号,如果有问题请关注,请参阅this讲义以获得更好的格式。 我假设您使用了原始蒙特卡罗,但是对于重要性采样,您也可以在链接源中找到公式。
上述公式是时不变的;事实上,你的问题涉及时间,这使得任务变得更加困难。 解决方案技术取决于时间差异,因为在这方面没有给出详细信息我只能建议您book (Melchers, Structural Reliability Analysis and Prediction)详细处理问题:
通常,时变问题可以(至少以近似方式)减少到时变问题,并且可以使用上述公式。或者您可以使用上面描述的方法计算每个时刻的失败概率&#39;如果这对你的问题有意义的话。
因为C
是实质内容,问题可能不包含随机过程,而只是单调增加(及时)随机变量,在这种情况下,失败的概率是最后一次失败的时间不变概率瞬间(当浓度最接近临界值时),因此可以直接使用上述蒙特卡罗技术。这种类型的问题称为右边界问题,更多细节:
Construction Reliability: Safety, Variability and Sustainability. Chapter 10
如果您不想完成,请告诉我们更多详情。