Multiple iterations for plotting

Hello dear,
I would like to request for your assistance to set a clear command for executing the iterations to plot the structural parameters in the code below. The code is not executing the needed iterations. The output is turning out only one value. I am hoping a single line of command will resolve the issue.
h= 0.5;
b = 0.5;
d1= 0.474;
d2= 0.035;
As= 2512*10^-6;
Asc= 2512*10^-6;
fy= 400*10^6;
Es= 200*10^9;
fc= 30*10^6;
fcd= 0.85*fc/1.5;
ecu= 0.0035;
ey= fy/Es;
for z= -1:0.3:2
es1= z*ey;
c= ecu * d1/(ecu - es1);
es2= ecu * (c - d2)/c;
fs1= es1 * Es;
fs2= es2 * Es;
end
if fs1> fy && fs1< -1*fy
fs1= fy;
%else fs1= fs1;
end
if fs2> fy && fs2< -1*fy
fs2= fy;
%else fs2= fy;
end
if fc<= 30
beta= 0.85;
else
beta= max (0.85 - 0.05*(fc-30)/7, 0.65);
end
% if c> h
% c = h;
% end
a= beta*c;
if a> h
a = h;
end
cb= d1 * (ecu/(ecu + ey));
Fcc= 0.85*fcd*a*b;
Fs= fs1 * As;
Fsc = fs2 * Asc;
if c >= cb
phi= 0.7;
elseif c < cb
phi= 0.9;
end
Nsd= phi*(0.85*fcd*a*b - fs1*As + fs2*Asc);
Msd= phi*(Fcc*(h/2-a/2) + Fsc*(h/2-d2) + Fs*(d1-h/2));
plot (Msd, Nsd);
xlabel ('Msd, kNm');
ylabel ('Nsd, kN');
title ('interaction diagram');

 Risposta accettata

Torsten
Torsten il 26 Apr 2024
Maybe you mean
h= 0.5;
b = 0.5;
d1= 0.474;
d2= 0.035;
As= 2512*10^-6;
Asc= 2512*10^-6;
fy= 400*10^6;
Es= 200*10^9;
fc= 30*10^6;
fcd= 0.85*fc/1.5;
ecu= 0.0035;
ey= fy/Es;
i = 0;
for z= -1:0.3:2
i=i+1;
es1= z*ey;
c= ecu * d1/(ecu - es1);
es2= ecu * (c - d2)/c;
fs1= es1 * Es;
fs2= es2 * Es;
%end
if fs1> fy && fs1< -1*fy
fs1= fy;
%else fs1= fs1;
end
if fs2> fy && fs2< -1*fy
fs2= fy;
%else fs2= fy;
end
if fc<= 30
beta= 0.85;
else
beta= max (0.85 - 0.05*(fc-30)/7, 0.65);
end
% if c> h
% c = h;
% end
a= beta*c;
if a> h
a = h;
end
cb= d1 * (ecu/(ecu + ey));
Fcc= 0.85*fcd*a*b;
Fs= fs1 * As;
Fsc = fs2 * Asc;
if c >= cb
phi= 0.7;
elseif c < cb
phi= 0.9;
end
Nsd(i)= phi*(0.85*fcd*a*b - fs1*As + fs2*Asc);
Msd(i)= phi*(Fcc*(h/2-a/2) + Fsc*(h/2-d2) + Fs*(d1-h/2));
end
plot (Msd, Nsd);
xlabel ('Msd, kNm');
ylabel ('Nsd, kN');
title ('interaction diagram');
But what about these if-statements ?
if fs1> fy && fs1< -1*fy
fs1= fy;
%else fs1= fs1;
end
if fs2> fy && fs2< -1*fy
fs2= fy;
%else fs2= fy;
end
How can a number be > 400*10^6 and at the same time be < -400*10^6 ?

2 Commenti

Sam
Sam il 27 Apr 2024
Dear Torsten,
Your first comment above has helped me iterate Nsd. Thank you very much. Now only Msd remains to be iterated. Any insight?
Sam
Sam il 27 Apr 2024
Dear Torsten,
By dropping the semicolon after the formulas for Msd and Nsd, now the iterations for both values are coming up. But the plot is not showing the expected graph.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating, Deleting, and Querying Graphics Objects in Centro assistenza e File Exchange

Richiesto:

Sam
il 26 Apr 2024

Commentato:

Sam
il 27 Apr 2024

Community Treasure Hunt

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

Start Hunting!

Translated by