您好,欢迎访问三七文档
课程设计题目:雨流计数法的编程及界面设计院系:轨道交通学院专业:车辆工程班级:车辆(卓越)2011-1小组成员:李永强、彭延忠廖希、张翼时间:2014.12.9-2015.1.9摘要雨流计数法(又叫塔顶法),是由英国的Matsuiski和Endo两位工程师提出的,是目前在疲劳设计和疲劳试验中用的最广泛的一种计数方法,是变程计数法的一种。雨流计数法如果计及平均值和变程对——均值法得到的计数结果完全相同。雨流计数法与变程对——均值计数法一样具有比较严格的力学基础,计数结果介于峰值法和变程法之间,提供比较符合实际的数据。雨流法是建立在对封闭的应力——应变迟滞回线逐个计数的基础上,因此,该方法能够比较全面的反映随机载荷的全过程。由载荷——时间历程得到的应力——应变迟滞回线与造成的疲劳损伤是等效的,因此,工程界认为雨流法反映了材料的应力——应变行为。而对于雨流计数法的处理方法,由于手工计算只能处理一些相对比较简单的数据,对于比较复杂的数据无法处理,因此要用计算机实现雨流计数法的编程。本文利用MATLAB编程技术及图形界面设计,以实现数据的简单化处理。关键词:雨流计数法疲劳编程界面目录一.概念.........................................................................................................4二.设计思路.......................................................................................................51.数据压缩.................................................................................................52.循环数提取...............................................................................................6三.设计所用软件...............................................................................................71.MATLAB软件............................................................................................72.MicrosoftVisio编流程图软件......................................................................93.Excel软件...............................................................................................10四.设计内容.....................................................................................................101.程序设计................................................................................................102.界面设计................................................................................................12五.设计结果...................................................................................................12六.结论..........................................................................................................13参考文献..........................................................................................................14附录................................................................................................................15雨流计数法的编程及界面设计一.概念最早的雨流计数原则出现在“图形法”的应用中。从表面看上去好象雨流从载荷的峰谷处流下一样,凡起始于波谷(峰)的雨流遇到比它更低的谷(峰)值便停止,即上一段雨流被下一段雨流“截断”而形成一个全循环,这个原则也正是“雨流计数法”命名的由来。如图1,把应变-时间历程数据记录转过90°,时间坐标轴竖直向下,数据记录犹如一系列屋面,雨水顺着屋面往下流,这种方法就称为雨流计数法。图1雨流法计算机判断计数模型如图2所示。由于传统雨流法不能对第2计数阶段即发散收敛波进行计数,因此国内外近十几年不断发展和研究雨流法计数模型,以便得到与材料的应力-应变迟滞回线完全封闭相一致的计数模型。图2计算机判断计数模型用计算机进行处理时,通常有两种判别表达式:XI≤XI+2XI+1≤XI+3XI≥XI+2XI+1≥XI+3雨流计数法的主要功能是把经过峰谷值检测和无效幅值去除后的实测载荷历程数据以离散载荷循环的形式表示出来。二.设计思路雨流计数法在程序中的实现方法分为数据压缩和循环数提取两个步骤完成。1.数据压缩数据压缩就是把原始的实验数据处理成便于计取循环数的数组,它包括峰谷值检测和无效幅值去除。(1)峰谷值检测是数据压缩的基本内容之一,就是把数据中的峰谷值提取出来作为下一步数据处理的数组。在这一过程中,为避免在峰谷值提取时产生影响应先将相邻的等值数压缩(即把相同数值的保留一个),然后再提取峰谷值。设待处理数组为E(n),所得数组为F(n),i和j分别为两个数组元素的编号(以下的流程图中不再声明)。在相邻等值数压缩中(如图),菱形框的判断条件是前后两个元素是否不相等,若为真值留下这个数,否则将继续下一个数的判断,直到最后一个数为止。这样当遇到相等数时,取下的是其中的第一个数值。在峰谷值检测时(如图),判断条件是相邻数字的差的乘积是否大于零(即是否同号),若为真值时就说明E(i)同时大于(或小于)两边的数字,则E(i)就是峰(或谷),否则继续。(2)无效幅值去除就是将幅值很小的点去除。具体过程如下图2:图22.循环数提取通常情况下分一次雨流计数、对接和二次雨流计数三个步骤完成,对于不同的波形要根据实际情况来定,比如:高均值偏态波形只需一次雨流计数就可完成。1)一次雨流计数是从压缩处理过的数据中提取循环,并记录其特性值,如峰值、谷值、幅值等。我这里使用的方法,是按雨流计数法规则加上个人的理解总结的一点规律——称之为“四点法”,而且在程序中实现起来也比较容易。如图4所示,在数组中能提取出循环的形式也不过这两种,若满足a大于等于b并且b小于c时就可以认为提取一个循环(图中构成三角形的部分),同时去除E[i]和E[i-1]两点,否则记录下E[i]这一点。这样对这个数组反复判断就可以取出所有的循环和记录所剩的各点。这种判断适用于四个点组成的各种情形,确保了循环提取的正确性,使程序的可靠性大大增加。具体的实现方法参见图5提取循环的流程图。流程图中,开始的c=0和下边的c=b是对程序一点化,“四点法”其实只用了三个点,这样就把上一次计算过的|E(i-1)-E(i)|作为本次的|E(i-1)-E(i-2)|;s1一个是否有循环的标志,可在图5的后加上一个s1是否等于零的判断,若等于零则说明一次雨流计数的循环全部提出,否则继续执行图5的全过程;s是记录雨流计数提取循环的总个数。图32)对接(又称波形封闭处理)是最终完成循环计数的必要手段,主要内容是对波形的首尾点进行取舍的简化处理。3)二次雨流计数是将完成对接的波形继续提取循环直到剩下三个点(即是数组中最值构成的整循环)为止。程序中实现也很简单,只需将对接完成的数组放入一次雨流计数中就行了。图4三.设计所用软件1.MATLAB软件在设计中用到的是MATLAB的编程技术及其图形界面功能。其界面如下:图5主界面图6编程界面图7图形设计界面2.MicrosoftVisio编流程图软件图83.Excel软件四.设计内容1.程序设计MATLAB编写雨流计数法程序时,先用MicrosoftVisio软件画出实现雨流计数法的流程图,如图2,4。然后用MATLAB的script编程,其中程序包括相同点的去除,波峰波谷值的检测,循环数的提取。雨流法程序如下:E1=xlsread('³õʼÊý¾Ý.xls','sheet1');[n,m]=size(E1);j=1;fori=1:m*n;E(j)=E1(i);j=j+1;endaxes(handles.axes1);plot(E,'red');i=1;j=1;while(i~=n*m-1)ifE(i)~=E(i+1)F(j)=E(i);elseF(j)=E(i+1);i=i+1;endj=j+1;i=i+1;endF(j)=E(i);axes(handles.axes2);plot(F,'blue');j=1;AP=0;[x,y]=size(F);if(x*y=10)fori=1:x*yAP=F(i)+AP;endAP=AP/(x*y);set(handles.text5,'String',num2str(AP));elsej=2;[n,m]=size(F);fori=2:n*m-1a=(F(i)-F(i-1));b=(F(i)-F(i+1));ifa*b0F1(j)=F(i);j=j+1;endendF1(1)=F(1);F1(j)=E(i+1);axes(handles.axes3);plot(F1,'blue');[success,message]=xlswrite('Êý¾Ý´¦Àí.xls',F','sheet1');[success,message]=xlswrite('Êý¾Ý´¦Àí.xls',F1','sheet2');k=1;j=1;[n,m]=size(F1);fori=1:n*m-4c=abs(F1(i)-F1(i+1));b=abs(F1(i+2)-F1(i+1));a=abs(F1(i+3)-F1(i+2));if(b=a&cb)A(k)=abs(F1(i+3)-F1(i));k=k+1;B(j)=F1(i+3);i=i+2;elseB(j)=F1(i);endj=j+1;endj=2;[n,m]=size(B);fori=2:n*m-1a=(B(i)-B(i-1));b=(B(i)-B(i+1));ifa*b0B1(j)=B(i);j=j+1;endendB1(1)=B(1);B1(j)=B(i+1);[success,message]=xlswrite('Êý¾Ý´¦Àí.xls',B1','sheet3');[n,m]=size(B1);axes(handles.axes4);plot(B1','black');[a,b]=size(A);AP=0;fori=1:n*m-1A(a*b+i)=abs(B1(i)-B1(i+1));endaxes(handles.axes5);plot(A','green')
本文标题:雨流法课设报告
链接地址:https://www.777doc.com/doc-1958113 .html