How to loop through a matrix, one row at a time using a for loop and conditions

119 visualizaciones (últimos 30 días)
So I have a 4x2 matrix
Matrix = [20,5; 30, -6; 40,8; 50,10];
. And I want to create a for loop with if-else statement that goes through the matrix and test if either the row or col value is negative, then it would display something like 'neg'. If both values are positive, then there will be a function called; (lets say the function is called Func).
how do I go through and test each row and col value to see if it is neg or pos?
thanks

Respuesta aceptada

madhan ravi
madhan ravi el 23 de Nov. de 2018
Editada: madhan ravi el 23 de Nov. de 2018
Read about logical indexing:
Matrix = [20,5; 30, -6; 40,8; 50,10];
for i = 1:size(Matrix,1)
if Matrix(i,1)<0 || Matrix(i,2)<0
disp('neg')
elseif Matrix(i,1)>0 && Matrix(i,2)>0
% some function
end
end

Más respuestas (1)

Stephen23
Stephen23 el 23 de Nov. de 2018
Editada: Stephen23 el 23 de Nov. de 2018
Simpler:
M = [20,5;30,-6;40,8;50,10]
X = all(M>=0,2)
for k = 1:size(M,1)
if X(k)
M(k,:)
end
end

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by