及时当勉励
分类: WINDOWS
2011-12-01 00:17:13
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