how to make a comparison in a for loop. Problem on indexes

3 visualizzazioni (ultimi 30 giorni)
At the end of the for loop l want to compare the values of I(i) and I(j) look at the second for loop. here is the returned error :
??? Attempted to access I(2); index out of bounds because numel(I)=1.
Error in ==> eliminationphase at 143
if (I(i)==I(j)&&(j < i))
Look at the code below:
alpha= 10;
I=1;
for i=1:N
if (~ismember(num2str(i), num2str(F)))
while (C(i) < alpha)
for j=1:N
if ((i~=j) && (ismember(j, neighbour_n{i})))
C(i)=C(i)+C(j);
display(['la somme des cardinaux de ', num2str(i), ' is ', num2str(C(i))]);
I=I+1;
display(['The number of iteration of ', num2str(i), ' is ', num2str(I)]);
end
end
end
if (~ismember(num2str(i), num2str(F)))
display(['the value of the node: ', num2str(i), ' at the end of while is ; ', num2str(C(i))]);
end
end
end
% how to compare betwwen I(i) and l(j)?
% l need to retreive the all the values of I and compare between them and between thein indices
for i=1:N
for j=1:N
if (((~ismember(num2str(i), num2str(F)))&&(~ismember(num2str(i), num2str(F))))&&(i~=j))
if (I(i)==I(j)&&(j < i))
display(i);
end
if (I(i) >I(j))
display(i);
end
end
end
end
  4 Commenti
Geoff Hayes
Geoff Hayes il 14 Mar 2015
Why do you have the following condition in the inner for loop of your second loop block
if (((~ismember(num2str(i), num2str(F)))&&(~ismember(num2str(i), num2str(F))))&&(i~=j))
What is the intent behind this code?

Accedi per commentare.

Risposte (1)

mazari ahmed
mazari ahmed il 9 Apr 2015
Finally you are right Geoff, it's working

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by