当前位置:文档之家› 用MATLAB实现结构可靠度计算.

用MATLAB实现结构可靠度计算.

用MATLAB实现结构可靠度计算
口徐华…朝泽刚‘u刘勇‘21。

(【l】中国地质大学(武汉工程学院湖北・武汉430074;
12】河海大学土木工程学院江苏・南京210098
摘要:Matlab提供了各种矩阵的运算和操作,其中包含结构可靠度计算中常用的各种数值计算方法工具箱,本文从基本原理和相关算例分析两方面,阐述利用Matlab,编制了计算结构可靠度Matlab程.序,使得Matlab-语言在可靠度计算中得到应用。

关键词:结构可靠度Matlab软件最优化法
中图分类号:TP39文献标识码:A文章编号:1007-3973(200902-095-Ol
1结构可靠度的计算方法
当川概率描述结构的可靠性时,计算结构可靠度就是计算结构在规定时问内、规定条件F结构能够完成预定功能的概率。

从简单到复杂或精确稃度的不同,先后提出的可靠度计算方法有一次二阶矩方法、二次二阶矩方法、蒙特卡洛方法以及其他方法。

一次■阶矩方法又分为。

I-心点法和验算点法,其中验算点法足H前可靠度分析最常川的方法。

2最优化方法计算可靠度指标数学模型
由结构111n个任意分布的独立随机变量一,x:…以表示的结构极限状态方程为:Z=g(■.托…t=0,采用R-F将非正念变量当罱正态化,得到等效正态分布的均值o:和标准差虹及可靠度指标B,由可靠度指标B的几何意义知。

o;辟
开始时验算点未知,把6看成极限状态曲面上点P(■,爿:---37,的函数,通过优化求解,找到B最小值。

求解可靠皮指标aJ以归结为以下约束优化模型:
rain睁喜t华,2
s.,.Z=g(工i,x2’,…,工:=0
如极限状态方栉巾某个变最(X。

可用其他变量表示,则上述模型jfIJ‘转化为无约束优化模型:。

B!:手f生丛r+阻:坚:坠:盐尘}二剐
t∞oY・’【叫,J
3用MATLAB实现结构可靠度计算
3.1Matlab简介
Matlab是++种功能强、效率高、便.丁.进行科学和工程计算的交互式软件包,汇集了人量数学、统计、科学和工程所需的函数,MATI.AB具有编程简甲直观、用户界mf友善、开放性强等特点。

将MATLAB用于蒙特卡罗法的一个显著优点是它拥有功能强大的随机数发生器指令。

3.2算例
3.2.I例:已知非线形极限状态方程z=g(t r'H=567f r-0.5H2=0’f、r服从正态分布。

IIf=0.6,o r=0.0786;la|_ 2.18,o r_0.0654;H服从对数正态分布。

u H= 3218,O。

=0.984。

f、r、H相互独立,求可靠度指标B及验算点(,,r’,H‘。

解:先将H当量正念化:h=ln H服从正态分布,且
,‘-““了:等专虿’=,。

49・口二-、『五ir面_。

3
求解改问题可靠度指标可归结为如下约束优化数学模型:・tino‘一r毛≯n二≯,’+t与},4
567f‘,一05t1“=5671"‘r"-0
5f”:O
Matlab源程序如下:
function relia
x0=f0.6,2.I8,3.49】;
options=optim set(’LargeScale’,’o行,;
Ix,fvall=fmincon(@oloj,x0,【】,【】,【】,【】,【】,【】,@st,options;
fprintf(7可靠度指标为bata=%fin’.fval;
fprintf(’验算点为%e%e%f】u7,x(1,x(2,exp(x(3;
function CC=obj(X
CC=sqrt(((x(1一O.6/0.0786“2+((x(2-2.18/0.0654“2 +……((x(3-
3.49/0.03“2;function[c,ceq]2st(x
c=【】;
ceq=567+X(1+x(2-O.5+exp(x(3“2;
运行结果如下:
>constr
可靠度指标为bata=11964254
验算点为10.456165,2.158960,33.418735】
3.2.2例:已知条件|一J上题,崩蒙特卡洛法求可靠度指标B及验算点(f,。

r’.H+。

Matlab源程序如下:
function mengte2(x
f=normrnd(0.6.0.0786,l,n;
r=normrnd(2.18,0.0654,l,n;
hh=11348(C+r;
H=hh.’015:
fx1=normcdf(f,0.6,0.0786;
Y1=norminv(&I,0,1;
段2=normcdf fr,2.18,0.0654;
y2=norminv(fx2,0,1;
fx3=normcdf(tog(H,3.49,0.03;
y3=norminv(fx3,0,1;
bl=sqrtfyl.“2+y2.“2+y3.“2;
b=min(b1;
c=find(bl=_b;
fprintf(’可靠度指标bata=%f\n7,b;
fprintf(7验算点为【%t',%e%f】\11’,t’(c,r(c,H(c;
进行105次抽样,计算结果如下:
>>mengte2(100000
可靠度指标bata=1.964308
验算点为【O.455747,2.159526,33.407770】
4结束语
从以.卜两个算例可以看出两种方法的计算结果很接近, MATLAB的强大功能为结构可靠度计算提供了使利,可充分发挥其矩阵运算功能,使编程效率大大提高,且语法简便,易于掌握,MATLAB语言在可靠度计算中的应用,会对结构可靠性研究起到积极推进作用。

——斟协论丘・2009年第2期(下——由堕万方数据。

相关主题