How can i calculate hysteresis loop area

조회 수: 10 (최근 30일)
Arman Kam
Arman Kam 2013년 1월 15일
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에서 MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by