JC法的基本思路
在设计演算点X*处,把非正态变量X转化成正态变量X’,应符合以下条件:
(1)
在设计演算点X*处,正态变量X’的分布函数与非正态变量X的分布函数
相等即
=
。
(2)
在设计演算点X*处,正态变量X’的密度函数与非正态变量X的密度函数
相等,即
=
。
根据当量正态化条件,可以得到当量正态化变量的均值和标准差。公式如下:
均值:
标准差:
对于如对数正态分布、Weibull分布、极值I型分布等均可由上式得到所需的当量正态变量的均值和标准差。
基本步骤如下:
JC法使采用当量正态化的演算点法。参照独立正态分布变量的演算点法的迭代步骤,可建立JC法的迭代计算步骤,如下所述:
(1)
假定初始演算点X*一般可取X*= 。
(2)
对非正态分布变量Xi,计算 和
。
(3)
计算,
(4)
计算,
(5)
计算新的X*,=
,i=1,2…,n
(6)
以新的X*重复步骤(2)至(5),直至前后两次之差小于
。
Matlab编程实现JC法计算可靠度:
例:一承载力为R的轴压短柱,承受永久荷载G和可变荷载Q作用。已知R服从对数正态分布,其平均值为=309.2KN,标准差
=52.6KN;G服从正态分布,其平均值
=53.0KN,标准差
=3.7KN;Q服从极值I分布,其平均值
=70.0 KN,标准差
=20.3 KN,R、G、Q相互独立,求可靠度
。
程序如下:
Function bbeta=JC_3(muX,cvX)
muX=[309.2;53.0;70.0];sigmaX=[52.6;3.7;20.3];
sLn=sqrt(log(1+(sigmaX(1)/muX(1))^2));
mLn=log(muX(1))-sLn^2/2;
aEv=sqrt(6)*sigmaX(3)/pi;
uEv=-psi(1)*aEv-muX(3);
muX1=muX;
sigmaX1=sigmaX;
x=muX;
normX=eps;
While abs(norm(x)-normX)/normX)>1e-6
NormX=norm(x);
g=x(1)-x(2)-x(3);
gX=[1;-1;-1];
cdfX=[logncdf(x(1),mLn,sLn);1-evcdf(-x(3),uEv,aEv)];
pdfX=[lognpdf(x(1),mLn,sLn); evcdf(-x(3),uEv,aEv)];
nc=norminv(cdfX);
sigmaX1(1:2:3)=normpdf(nc)./pdfX;
muX1(1:2:3)= [x(1:2:3) -nc.*sigmaX1(1:2:3)];
gs=gX.*sigmaX1;
alphaX=-gs/norm(gs);
bbeta=(g+gX*(muX1-x))/norm(gs);
x=muX1+bbeta*sigmaX1.*alphaX;
end
运行结果为:可靠度3.583