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 vues (au cours des 30 derniers jours)
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

Réponses (1)

Sudhakar Shinde
Sudhakar Shinde le 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

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by