for ii=1:n \n
if x(ii)<=a
v=((-q*b*x(ii)^2)/(12*E*I))*(3*L+3*a-2*x(ii));
vi=((-q*b*x)/(2*E*I)).*(L+a-x);
else
v=((-q)/(24*E*I))*(x(ii)^4-4*L*x(ii)^3+6*L.^2*x(ii)^2-4*a.^3*x(ii)+a.^4);
vi=((-q)/(6*E*I))*(x(ii)^3-3*L*x(ii)^2+3*L.^2*x(ii)-a.^3);
end
end
subplot(2,1,1); plot(x,v);
title(' ');
subplot(2,1,2); plot(x,vi);
Should there be a 'hold on' somewhere in the code? Thanks

1 Kommentar

Stephen23
Stephen23 am 3 Nov. 2018
It is possible that a loop is not required anyway. Please tell us what size the variables are: q, E, I, x, L, etc.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

madhan ravi
madhan ravi am 3 Nov. 2018
Bearbeitet: madhan ravi am 3 Nov. 2018

0 Stimmen

for ii=1:n %EDITED
if x(ii)<=a
v(ii)=((-q*b*x(ii)^2)/(12*E*I))*(3*L+3*a-2*x(ii));
vi(ii)=((-q*b*x)/(2*E*I)).*(L+a-x);
else
v(ii)=((-q)/(24*E*I))*(x(ii)^4-4*L*x(ii)^3+6*L.^2*x(ii)^2-4*a.^3*x(ii)+a.^4);
vi(ii)=((-q)/(6*E*I))*(x(ii)^3-3*L*x(ii)^2+3*L.^2*x(ii)-a.^3);
end
end
plot(x(1:numel(v)),v);
hold on
plot(x(1:numel(vi)),vi);

4 Kommentare

madhan ravi
madhan ravi am 3 Nov. 2018
Bearbeitet: madhan ravi am 3 Nov. 2018
The hold on is only required if and obligations you want to put multiple graphs in one plot. (ii) is included next to the variables in order to prevent t overwriting. At the beginning of the loop you put n/n where it should be n otherwise the loop is useless only calculating for the first iteration.
Jacqueline Hoang
Jacqueline Hoang am 3 Nov. 2018
Yes, I am trying to graph 2 figures, v(ii) and vi(ii) stacked on top of each other.
madhan ravi
madhan ravi am 3 Nov. 2018
Bearbeitet: madhan ravi am 3 Nov. 2018
So use hold on , if it worked make sure to accept the answer so that people know the question is solved.
madhan ravi
madhan ravi am 3 Nov. 2018
Else let know what’s additionally required

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by