Chinaunix首页 | 论坛 | 博客
  • 博客访问: 615685
  • 博文数量: 239
  • 博客积分: 7941
  • 博客等级: 准将
  • 技术积分: 2467
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-10 12:14
个人简介

及时当勉励

文章分类

全部博文(239)

文章存档

2013年(29)

2011年(22)

2010年(188)

jc

分类: WINDOWS

2011-12-01 00:17:13

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;}

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.6KNG服从正态分布,其平均值=53.0KN,标准差=3.7KNQ服从极值I分布,其平均值=70.0 KN,标准差=20.3 KNRGQ相互独立,求可靠度

程序如下:

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

阅读(2253) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~