首页 从滞回曲线提取骨架曲线点Matlab程序

从滞回曲线提取骨架曲线点Matlab程序

举报
开通vip

从滞回曲线提取骨架曲线点Matlab程序从滞回曲线提取骨架曲线点Matlab程序 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %程序功能:1.生成并输出骨架曲线点至FrameCurve.txt,提取后需要对骨架曲线点按照位移值排序; %默认格式:txt文件为两列,顺序依次为:、 %读取的曲线默认:从正向开始加载,若为负向开始加载,应先进行调整。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...

从滞回曲线提取骨架曲线点Matlab程序
从滞回曲线提取骨架曲线点Matlab程序 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %程序功能:1.生成并输出骨架曲线点至FrameCurve.txt,提取后需要对骨架曲线点按照位移值排序; %默认格式:txt文件为两列,顺序依次为:<位移>、<荷载> %读取的曲线默认:从正向开始加载,若为负向开始加载,应先进行调整。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear;clc; fid=fopen('FrameCurve.txt','wt'); %%创建输出文件FrameCurve.txt,初次写入骨架曲线点[0,0],应覆盖内容 coordinate=[0.0 0.0]; dlmwrite('FrameCurve.txt',coordinate,'delimiter','\t','newline','pc','precision','%.2f') sta=fclose(fid); outdata=load('jgz3.txt'); %%读取文件数据,默认是为<两列>,<位移,荷载>,outdata矩阵, LineNum=size(outdata,1); EndCircle=1; %--------------------找各级循环分割点位置----------------------负->正or负->零 for i=3:LineNum if (outdata(i,1)*outdata(i-1,1)<=0)&&(outdata(i-1,1)<0);%--默认初始加载从正半周开始 EndCirclePoints(EndCircle)=i; %分割点的行号EndCirclePoints EndCircle=EndCircle+1; %中间分割点个数为EndCircle-1 end; end; %--------------------检查最后是否存在不完整滞回环---------------------- if EndCirclePoints(EndCircle-1)=0 %仅正半周,仅一个最大值---------------------------------------------------- [ColMaxValue,LineMax]=max(A); %获取最大值行号LineMax FramePointMax=A(LineMax(2),:); FramePointsPostive(k,:)=FramePointMax; else %有负半周,有最大值和最小值---------------------------------------------------- [ColMinValue,LineMin]=min(A); %获取最小值行号LineMin FramePointMin=A(LineMin(2),:); FramePointsPostive(k,:)=FramePointMax; FramePointsNegative(k,:)=FramePointMin; end; end; end; %---------------------------------------比较最大位移,删除骨架曲线中同一荷载级的较小骨架点--------------------------------------------------- for k=LoopNum:-1:2 A=LoopCircles{k}; B=LoopCircles{k-1}; [ColMaxValueA,LineMaxA]=max(A); %获取各列最大值所在行号LineMax(1*n向量),ColMaxValue为各列的最大值(1*n向量),n为A的列数 [ColMinValueA,LineMinA]=min(A); %获取各列最小值所在行号LineMin [ColMaxValueB,LineMaxB]=max(B); %获取各列最大值所在行号LineMax(1*n向量),ColMaxValue为各列的最大值(1*n向量),n为A的列数 [ColMinValueB,LineMinB]=min(B); %获取各列最小值所在行号LineMin if abs(ColMaxValueA(1)-ColMaxValueB(1))<4; %判断为同一荷载级,容差取为4mm if ColMaxValueA(2)
本文档为【从滞回曲线提取骨架曲线点Matlab程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_079973
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:5
分类:企业经营
上传时间:2017-11-18
浏览量:471