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 Center および File ExchangeMATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by