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 (최근 30일)
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

답변 (1개)

Sudhakar Shinde
Sudhakar Shinde 2020년 9월 25일
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

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by