How can i calculate hysteresis loop area

21 views (last 30 days)
Arman Kam
Arman Kam on 15 Jan 2013
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

Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!