How can i calculate hysteresis loop area

13 次查看(过去 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 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by