第1章导言
本书是一本关于工程结构可靠度分析方法及程序设计的专著,主要讲述各种结构可靠度分析方法,从阐述清楚和应用方便考虑,对所述方法均给出了相应的计算机程序?可靠度分析需要有一定的背景知识,程序的编制和运行也需要一个开发平台和环境,涉及的背景知识和开发环境需要事先予以说明?此外,对于本书的内容梗概及章节安排,以及书中所采取的叙述风格,在此也预先作一交待,以有助于读者对本书内容的整体把握,并方便查阅?
1.1背景知识
为了突出结构可靠度分析方法的重点,尽早“书归正传”?切入主题,本书将结构可靠度分析有关的背景知识的叙述压缩到最少,除非必要,一般不介绍所涉及的背景知识?
结构随机可靠度分析主要涉及概率计算和统计推断?数值计算方法等方面的背景知识,这些内容在几乎所有有关可靠度的书籍中都可以找到[1–3],书中对此不作赘述,假设读者已经具备这些方面的基本知识?
数值计算方法和概率统计是结构可靠度计算的基础?其实,在本书中所涉及的概率统计知识,从广度和深度上,都还是比较有限的?本书将数值计算方法作为一项基本技术来使用,因而对于常规的算法及其含义在书中没有叙述?读者如有感到疑惑之处,可以自行查阅有关书籍[4]?
本书以MATLAB软件作为说明和实施可靠度计算方法的平台?该软件及其数理统计工具箱自带的帮助文档也是了解上述知识的一条快速途径?数值计算方法和概率统计等方面的背景知识介绍?某一具体方法及其实现函数等,在帮助文档中都有比较详细透彻的叙述?只要查询相关的章节或按索引找到相应的函数,再利用帮助文档给出的众多的超链接,就可以获得比较全面详尽的帮助信息?在附录B中列出了本书程序用到的所有函数,可以作为函数的一个快速参考?
本书在给出基于人工神经网络的结构可靠度分析方法时,对人工神经网络也作了简要概述?将人工神经网络应用于求解结构可靠度时,用到了MATLAB的结构可靠度计算神经网络工具箱?因此,读者可以查阅其他文献[5],或者仿照以上介绍,从神经网络工具箱的帮助文档,来获得更多的相关知识和相应函数的使用说明?
本书在介绍结构模糊随机可靠度的分析方法时,用到了有关模糊数学的基本概念?鉴于模糊数学不像前面提及的数理统计和数值方法那么为读者所熟知,作者对这方面的基础知识作了简单介绍,这对于书中运用到的结构模糊随机可靠度分析已经足够?但如果读者希望了解更多的内容,可以自行查阅相关书籍[6]?由于本书用到的模糊数学比较简单,在求解可靠度问题时,将模糊性转化成了随机性,因而没有必要用到MATLAB中的模糊逻辑工具箱?
另外,读者还可以从书后所列的索引快速获得关于某个名词术语或概念的定义帮助,从附录A和附录B中查阅到程序中的标识符和所用到的MATLAB及其工具箱的函数?
1.2关于程序
本书的一大特点就是给出所有结构可靠度分析方法的计算机程序,用程序来更好地说明方法?在众多的程序设计语言中,就结构可靠度程序设计而言,有很多理由选择MATLAB?
MATLAB是一种面向科学和工程计算的高级语言,现已成为国际公认的最优秀的科技界应用软件?它的集成度很高,功能强大,使用方便,适用的计算机平台宽,因而被大家广泛接受?强大的科学计算与可视化功能?简单易用的开放式可扩展环境以及多达40多个面向不同领域而扩展的工具箱支持,使得它在许多学科领域中成为计算机辅助设计与分析?算法研究和应用开发的基本工具和首选平台?
MATLAB最突出的特点就是语言简洁紧凑,使用方便灵活?它用更直观的?符合人们思维习惯的代码,代替了C语言和Fortran语言的冗长代码,具有很高的编程效率?实际上,作者也曾在可靠度的教学和科研中[7–23]用各种语言编写计算程序,感到MATLAB脚本式的语言比较容易掌握,MATLAB程序也是最简洁和最清晰的?
MATLAB程序利用丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作,使编程人员从繁琐的程序代码中解放出来?由于库函数都由本领域的专家编写,用户通常不必担心函数的可靠性?MATLAB提供的运算符丰富,它提供了和C语言几乎一样多的运算符?这些都利于快速高效地编写出具有任何复杂功能的程序?
本书正是借助MATLAB的强大功能,将MATLAB作为编程平台,解决结构可靠度计算问题?这是作者经多年可靠度教学和研究所做的一次尝试,也是尝试之后作者所推荐的一种手段?
如果将可靠度计算方法比作一个结构,搭建这个结构需要大量基本构件,这里指一些常规计算方法,那么,只要选用MATLAB的命令?函数作为结构的标准构件,就能以高效精确的算法实现复杂结构,而且结构的可靠性也是很高的?这样可以避免很多重复性的劳动,充分利用现有的数学成果,使我们能够尽快地“站在巨人肩上”开展工作?本书利用MATLAB强大的科学计算和符号运算功能,轻松跨越繁琐的公式推导和复杂的编程技巧,获得最佳的学习效率?这种方式的目的是把重点放在每一种结构可靠度的分析方法上,而不去细抠数学计算上的小节,例如不再需要推导针对每种概率分布所用的具体的公式,不用将注意力集中在书中出现的Gram-Schmidt正交化过程处理?矩阵特征值问题?矩阵Cholesky分解?copula随机数生成等具体方法及其实现上,并且不易出错?
本书利用富于启发性的例子说明问题,围绕着许多结构可靠度计算实例编写程序,每个例子都提供了建模和计算所需的MATLAB脚本?提供这些程序的目的之一是为了充分说明算法,阐明分析过程涉及的各个步骤,化解算法中的各个难点?作者没有去编制包罗各种方法?处理各种情况的通用程序,而是紧密结合所介绍的方法,这样做对于深刻理解方法的细节具有很强的启发性?通过这些源程序的引入,作者希望使读者的主要精力不再耗费在编程上,而放在探究可靠度的分析方法上;另外,读者可以利用这些脚本资源做自己想做的事?
由于将大量常规的计算方法问题交由MATLAB完成,本书所附的程序都很简洁?通常一个典型的程序大约有数十行代码,相当于算法伪代码的长度,非常适合小型计算机?本书的程序大多数在整体结构上具有相似性?通用性,作者也注意使程序规范统一,因此,本书的程序易读懂,易改动,易扩充?每个变量名都可望文生义,很容易“猜”出其含义(程序中使用的标识符可参见附录A)?这些程序只需稍加改造,就可以灵活方便地用来分析别的问题,所需要注意的只是变量概率分布类型?结构功能函数及其导数等方面?
作者相信,如果利用更为复杂些的MATLAB功能,如用符号运算功能来自动完成功能函数求导,还可以使程序更为一般化些,但本书的程序只是为了说明各种方法,仅利用了MATLAB的数值运算功能?因此,书中的程序是传统的纯粹数值分析程序,保持了简明性的特点,而且容易移植?
出于说明结构可靠度计算方法的目的,本书程序尽量避免过于详细的输入和输出操作说明,不在可视化和前后处理方面作过多考虑?在此期望读者能用自己结构可靠度计算编写的程序进行输入数据的前处理和图形化输出操作?本书的程序一般不加注释,仅在有些值得注意之处作简单的点缀式说明,并且之后再次出现时也一律不重复说明?
为了有效地使用本书,读者应该对MATLAB软件比较熟悉,包括数据输入?绘图和简单的计算?相关的MATLAB的m文件等?可能的话,读者可以亲自运行一下书中感兴趣的程序,一定会有所感悟?书中的程序既体现了可靠度分析方法的各个步骤,又包含了全部的计算细节,认真阅读这些程序也是很必要的?
本书所有程序都在最新版本的MATLAB上调试通过?
1.3内容安排
结构可靠度的计算方法很多,书中尽量介绍那些比较成熟?好用的方法?有一些方法[24,25],因不具有明显优势或缺乏实用性?精度较差等原因,则没有介绍?
以下是本书的具体内容及其简要评述,由此可以了解结构可靠度计算方法的梗概,也可在需要选择某一方法时作为简单参考?
第1章作为本书的导言,对书中用到的背景知识作了一个交代,介绍MAT-LAB软件并说明本书利用它解决问题的理由,简述了本书的重要内容安排,并对书中出现的数学记法作了约定?
第2章给出了结构随机可靠度的基本概念,主要是为了说明结构可靠度分析的任务和在学科中的地位?分别给出了基本随机变量?结构的极限状态?结构可靠度及可靠指标的概念,并将可靠指标与安全系数作了比较?
第3章介绍结构可靠度的一次二阶矩方法,包括中心点方法和设计点方法,在非正态随机变量处理方面介绍了JC法?等概率正态变换方法?简化Paloheimo-Hannus方法,在随机变量的相关性处理上介绍了Rosenblatt变换方法?线性变换方法以及Nataf变换方法?通常认为,在求解结构可靠度的一次二阶矩方法中,JC法并结合Nataf变换是应用最广泛的一种方法?
第4章围绕结构可靠度的二次二阶矩方法,介绍了Breitung方法和Laplace渐近方法?对于特定的问题,当结构的功能函数的非线性程度较高,利用一次二阶矩方法计算精度欠佳时,可以考虑采用这种方法?
第5章围绕结构可靠度的二次四阶矩方法,给出了最大熵方法和最佳平方逼近方法?这种方法充分利用了基本随机变量的各阶矩的信息,与二次二阶矩方法从不同的理论体系出发,因而是平行的两种算法,目前无法判断孰优孰劣?
第6章描述了结构可靠度的渐近积分方法?这是直接从失效概率的积分定义
出发,将积分域边界即失效面作Taylor级数的替换,计算结构失效概率的渐近积分的方法?
第7章介绍结构可靠度分析的响应面方法?响应面方法用假设的简单函数作为结构的功能函数,通过迭代调整函数中的待定参数,一般都能满足实际工程的精度要求,适用于结构的功能函数的解析表达式不明确或很复杂的情形?
第8章介绍结构体系可靠度的分析计算方法?对结构体系及其可靠度作了讨论,并给出了体系可靠度的一般计算表达式,主要讨论了串联体系和并联体系的失效概率的计算方法?此外,对于结构体系计算中涉及的多元正态分布函数的计算问题也作了详细阐述?
第9章阐述计算结构可靠度的MonteCarlo方法?这是结构可靠度分析的一种最基本的方法,通常也是相对比较准确的方法?主要介绍了直接抽样?重要抽样?渐近重要抽样?方向抽样?Latin超立方抽样等MonteCarlo方法?
第10章给出了基于人工神经网络的结构可靠度分析方法,包括基于人工神经网络的一次二阶矩方法?二次二阶矩方法和MonteCarlo方法?这些方法利用人工神经网络独特的学习能力?适应能力,可以较好地逼近极限状态方程,故适于大型复杂结构功能函数为隐式的情形?
第11章引入模糊集的概念,考虑到结构失效准则的不明确性以及结构参数的模糊性,介绍了结构模糊随机可靠度的分析方法?这种方法利用模糊随机事件的概率,将具有模糊失效准则的结构的模糊随机可靠度问题转化成随机可靠度问题,适于结构和结构体系的模糊随机可靠度分析?
本书除了第1章和第2章为基本内容和基本概念的介绍,其他各章均围绕结构可靠度某一种方法展开讨论,内容相对独立,读者可以按照所需有选择地阅读?
1.4记法规定
书中采用通用的数学符号和记法,如向量或矩阵用斜黑体字母表示,上标.表示其转置等?特别地,下面的几点规定是需要注意的:
(1)向量默认为列向量?
向量X=(12n).表示一个具有个元素i的列向量,其矩阵形式为[12n].或[i]n1?向量X的2-范数简单地记作=
(2)函数对所有向量的分量或矩阵的元素的导数,有时采用向量或矩阵的实体符号来表示?
这种表达方式就是按照向量分量或矩阵元素的顺序依次求导,并历遍所有分量或元素?下面说明本书用到的几种表达方式的含义?
设X为维向量,(X)为X的标量函数,一阶导数
展开