If statement for cells

9 visualizaciones (últimos 30 días)
MarshallSc el 11 de Jul. de 2021
Comentada: Star Strider el 12 de Jul. de 2021
Hi, I have 3 different cell arrays like below - same size (let's call them A, B and C):
That I need to evaluate in an if statement in a for loop. But the final result gives me several empty numeric array in couple of the cells. The code is:
for i=1:4
for j=1:4
for k=1:10
for r=1:10
if ((abs(A{i,j}(k,r)))/(abs(C{i,j}(k,r)))<1) && ((abs(A{i,j}(k,r)))/(abs(B{i,j}(k,r)))<1)
A_num{i,j}{k,r}='Point is stable: Category 1 is assigned';
elseif ((abs(A{i,j}(k,r)))/(abs(C{i,j}(k,r)))>1) && ((abs(A{i,j}(k,r)))/(abs(B{i,j}(k,r)))>1)
A_num{i,j}{k,r}='Point is unstable';
For example, one of the cell array result is like bleow:
I checked all the components of the original cell arrays and none of them are zero or inf. Am I doing something wrong here?

Respuesta aceptada

Star Strider
Star Strider el 11 de Jul. de 2021
The && are ‘short circuit’ AND operators. The second expression (after the &&) will not be evaluated if the first expression is false.
If you want to evaluate both of them, just use & instead.
  10 comentarios
Star Strider
Star Strider el 12 de Jul. de 2021
My pleasure!
If my Answer helped you solve your problem, please Accept it!

Iniciar sesión para comentar.

Más respuestas (0)


Community Treasure Hunt

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

Start Hunting!

Translated by