evaluating matrix in if statement
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
How can i get an if statement to evaluate a truth condition based on a matrix, such that
tol = [.0001;.0001;.0001;.0001;.0001;.0001;.0001;.0001;.0001;.0001]
difference_force = [10;10;10;10;10;10;10;10;10;10]
difference_displacement = [10;10;10;10;10;10;10;10;10;10]
if (difference_force > tol) == ones(1,10)' && (difference_displacement > tol)
without getting "Operands to the and && operators must be convertible to logical scalar values." error
0 comentarios
Respuesta aceptada
Walter Roberson
el 11 de Feb. de 2011
if all(difference_force > tol) && all(difference_displacement > tol)
0 comentarios
Más respuestas (1)
Oleg Komarov
el 11 de Feb. de 2011
The condition:
if (difference_force > tol) & (difference_displacement > tol)
reads:
if every value of difference_force is elementwise bigger than its correspondent value in tol and at the same time every value of difference_displacement is elementwise bigger than its correspondent value in tol
Note that you cannot use shortcircuit operator (&&, ...) with vectors.
Oleg
0 comentarios
Ver también
Categorías
Más información sobre Logical 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!