Why this loop is executing 4 times?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
% For plane slider: H = Ho + a(1-x)
Ho = 1;
alpha = 0.1;
eps = 0.1;
a = 1.0;
lbar = 0.1;
SIGMA = 0:0.05:0.15;
sigma = zeros(1,length(SIGMA));
for j = 1:length(SIGMA)
sigma = SIGMA(j);
H = @(x) Ho + a*(1 - x); % For plane slider: H = Ho + a(1-x)
G1 = @(x) H(x).^3 + 3 .* H(x).^2 .* alpha + 3 .* H(x) .* alpha^2 + 3 .* H(x) .* sigma^2 + eps + 3*sigma^2*alpha + alpha^3 - 12*lbar^2 .* (H(x) + alpha);
G2 = @(x) 24 * lbar^3 .* tanh(H(x)./(2*lbar));
G3 = @(x) (12*lbar^2*alpha - eps - alpha^3 - 3*sigma^2*alpha) .* (1 - (tanh(H(x)./(2*lbar))).^2);
G = @(x) G1(x) + G2(x) + G3(x);
Hm1 = @(x) H(x).* (1 ./ G(x));
Hm2 = @(x) (1 ./ G(x));
IntHm1 = integral(Hm1,0,1);
IntHm2 = integral(Hm2,0,1);
Hm = IntHm1 / IntHm2;
P1 = @(x) 6 .* (1 ./ G(x)) .* (H(x) - Hm);
P2 = @(x) integral(P1,0,x);
% Calculating dimensionless load carrying capacity(W):
W(j) = integral(P2,0,1, 'ArrayValued', true)
% Calculating non dimensional Frictional Force(F):
F1 = @(x) (H(x).* P1(x)) ./2 + (1 ./ H(x));
F(j) = integral(F1,0,1)
% Calculating coefficient of friction(f):
f(j) = F(j)/W(j)
% Calculating non dimensional temperature rise(deltaT):
deltaT(j) = F(j)/Hm
% Calculating the center of pressure(Xbar):
Xbar1 = @(x) P2(x) .* x;
Xbar(j) = integral(Xbar1, 0, 1, 'ArrayValued', true)/W(j)
end
0 Kommentare
Akzeptierte Antwort
Voss
am 7 Jun. 2022
SIGMA is of size 1-by-4, and the loop goes from 1 to length(SIGMA) (which is 4), so what else would you expect?
SIGMA = 0:0.05:0.15 % 1-by-4
for j = 1:length(SIGMA) % 1:4
disp(j)
end
4 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!