Borrar filtros
Borrar filtros

why this loop is not working? Actually p_j value is not changing why?

1 visualización (últimos 30 días)
RAJKUMAR SAHA
RAJKUMAR SAHA el 5 de Mzo. de 2023
Editada: VBBV el 8 de Mzo. de 2023
n = input('please enter number of strips :');
for i = 1:n
for j = i
p_i = 0
p_j = p_i + D/(2*n)
epsilon_ci = (epsilon_max/xu)*(xu-p_j)
sigma_ci = 0.45*fc*[2*(epsilon_ci/0.002)-(epsilon_ci/0.002)^2]
p_i == p_j;
end
end
  2 comentarios
Dyuman Joshi
Dyuman Joshi el 5 de Mzo. de 2023
Editada: Dyuman Joshi el 5 de Mzo. de 2023
"why this loop is not working?"
It is working.
"Actually p_j value is not changing why?"
Because you are over-writing p_j with every iteration.
It is difficult to make any suggestions as it is not clear what you are trying to do. Format your code properly, mention values of variables and specify what you want to do with this code.

Iniciar sesión para comentar.

Respuestas (2)

Pritesh Shah
Pritesh Shah el 5 de Mzo. de 2023
Instead of p_j write p(j)

VBBV
VBBV el 8 de Mzo. de 2023
Editada: VBBV el 8 de Mzo. de 2023
n = 10;% e.g. input number
epsilon_ci = 0.001;
epsilon_max = 0.01;
xu = 2;
fc = 100;
D = 1.1;
p_i = 0; %outside for loop
for i = 1:n
p_j(i) = p_i + D/(2*n);
epsilon_ci = (epsilon_max/xu)*(xu-p_j(i));
sigma_ci = 0.45*fc*(2*(epsilon_ci/0.002)-(epsilon_ci/0.002)^2);
p_i = p_j(i); % assign new p_i
end
p_j
p_j = 1×10
0.0550 0.1100 0.1650 0.2200 0.2750 0.3300 0.3850 0.4400 0.4950 0.5500
  1 comentario
VBBV
VBBV el 8 de Mzo. de 2023
You require only one for loop, since the inner for loop will lead to only one iteration,

Iniciar sesión para comentar.

Categorías

Más información sobre Variables en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by