How can i calculate hysteresis loop area
10 次查看(过去 30 天)
显示 更早的评论
Hi, I want to calculate hysteresis loop area of a moment-curvature of a beam like below:
I wrote a simple code for calculating area but i have an issue that is how can i eliminate the interior areas (or substracting the interior area from total area in order to find the area of the surrounding branch which is equal to dissipated energy) due to interior branches of hysteresis loop that must be elminated?
the code is:
if true
%HysLoop=csvread('Sample.csv');
c=HysLoop(length(HysLoop));
Energy=0;
for i=0:0.05:c
if i~=c;
if (abs((HysLoop(round(i/0.05+2),3))-abs(HysLoop(round(i/0.05+1),3)))/(abs(HysLoop(round(i/0.05+2),3))-abs(HysLoop(round(i/0.05+1),3))))>0
Energy=Energy+abs((HysLoop(round(i/0.05+2),3)+HysLoop(round(i/0.05+1),3))*(HysLoop(round(i/0.05+2),2)-HysLoop(round(i/0.05+1),2))/2);
elseif (abs((HysLoop(round(i/0.05+2),3))-abs(HysLoop(round(i/0.05+1),3)))/(abs(HysLoop(round(i/0.05+2),3))-abs(HysLoop(round(i/0.05+1),3))))<0
Energy=Energy-abs((HysLoop(round(i/0.05+2),3)+HysLoop(round(i/0.05+1),3))*(HysLoop(round(i/0.05+2),2)-HysLoop(round(i/0.05+1),2))/2);
end
end
end
end
the actual answer is 31.2 but this code answers 42.9488
0 个评论
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!