从滞回曲线提取骨架曲线点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,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。