How to idealize a moment curvature plot as a bilinear curve?

조회 수: 9 (최근 30일)
Raj Arora
Raj Arora 2023년 2월 2일
댓글: Raj Arora 2023년 2월 3일
I have a set of data for moment curvature plot considering those I have to idealize it as a bilinear plot
1. Initial values are (0, 0)
2. Final values are (9.093920000000000e-05, 1.970250000000000e+09)
3. Yield values are (4.133600000000000e-06, 1.630480000000000e+09)
Now the initial and final values will remain the same but yield value can change slightly. The idea is simple that area under
both curve (curve made using MC.txt and bilinear curve (sum of traingular and trapezoidal area)) should be same or minimum.
My code is mentioned below
% Determination of Idealized yield moment and curvature
Firstpoint = [Minitial Phiinitial]; % First point in the idealized plot of MC
Secondpoint = [Myield Phiyield]; % Second point in the idealized plot of MC
Lastpoint = [Multimate Phiultimate]; % Last point in the idelaized plot of MC
K = Secondpoint(:,1)/Secondpoint(:,2); % Stiffness based on second point in the idelaized plot of MC
phiincrement = Phiultimate/2000;
Mincrement = K*phiincrement;
Mfinal = K*Phiultimate;
v = 0:Mincrement:Mfinal;
k = v';
NX = numel(v);
% Iterative procedure to get yield curvature and curvature ductility
for Xi = 1:1:NX
areaCurve = trapz(MC(:,2),MC(:,1));
trainglearea(Xi,1) = 0.5*v(Xi)*(v(Xi)/K);
trapeziumarea(Xi,1) = 0.5*(v(Xi)+Lastpoint(:,1))*(Lastpoint(:,2)-(v(Xi)/K));
Bilineararea(Xi,1) = trainglearea(Xi) + trapeziumarea(Xi);
A(Xi,:) = (abs(areaCurve-Bilineararea(Xi))); % Area difference between idelaized and actual plot
end
dlmwrite('bilinearArea.txt',Bilineararea,'newline','pc');
dlmwrite('momentvalues.txt',v','newline','pc');
dlmwrite('Area.txt',A,'newline','pc');
% Idealized yield moment and curvature
[row, col] = min(A);
load momentvalues.txt;
momentvalues(col,1);
yield = momentvalues(col,1)/K;
ductility = Lastpoint(:,2)/(momentvalues(col,1)/K);
mu(:,1) = ductility ;% Curvature ductility
phiy = Phiultimate/mu; % Yield curvature
My = K*phiy; % Yield moment
% Idealized plot of MC
X = [Firstpoint(:,2) phiy Lastpoint(:,2)];
Y = [Firstpoint(:,1) My Lastpoint(:,1)];
plot(X,Y)
hold on
xlabel('Curvature (1/mm)'); ylabel('Moment (N-mm)');
%axis([0 Lastpoint(:,2) 0 2.0*Lastpoint(:,1)])
dlmwrite('Output.txt',[Y(2) X(2) Multimate Phiultimate (Phiultimate/X(2))],'newline','pc')
plot(MC(:,2),MC(:,1))
hold off
grid on
xlabel('Curvature (1/mm)'); ylabel('Moment (N-mm)');
I am not getting the area 0 or minimum its quite high
Can anyone tell what I am doing incorrect in this code?

답변 (1개)

VBBV
VBBV 2023년 2월 2일
trapeziumarea(Xi,1) = 0.5*(v(Xi)+(Lastpoint(:,2)-Lastpoint(:,1)))*(v(Xi)/K);
Trapezium area may be different as above
  댓글 수: 1
Raj Arora
Raj Arora 2023년 2월 3일
This is not correct Lastpoint(:,2) and Lastpoint(:,1) consist of x and y value, hence cannot be subtracted for calculating trapezium area.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Two y-axis에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by