How to store the indexes of the values which satisfies the given condition while running a loop. The condition is satisfied many times but at the end only i only get the index of last condition when value was satisfied.

2 views (last 30 days)
function indices=Saddle(M)
[a,b]=size(M);
P=max(M,[],2);
Q=min(M);
for i=1:a
for j =1:b
if P(i,1)==Q(1,j)%my condition which needs to be satisfied
F(i)=i; F1(j)=j;%value of all the indexes.i.e i or j must be stored here as an array but I am getting only one value
end
end
end
if F==0
indices=[];
else
indices=[F;F1];
end

Answers (1)

Sudhakar Shinde
Sudhakar Shinde on 25 Sep 2020
Hopefully you are looking for the:
%Code is here. You can change F(i)=i; F1(j)=j; to indices{end+1} = [i,j];
function indices=Saddle(M)
[a,b]=size(M);
P=max(M,[],2);
Q=min(M);
indices = {};
for i=1:a
for j =1:b
if P(i,1)==Q(1,j)%my condition which needs to be satisfied
indices{end+1} = [i,j];
end
end
end

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!