I want to skip one step
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi I have a matrix,I want the code to skip executing statements if the row is repeated. Thanks
2 comentarios
the cyclist
el 6 de Mayo de 2014
You are expecting us to guess too many details of what you are doing, which will likely lead to us wasting a lot of our time. Please provide a small example of the code you are using, where you want the skip to be inserted.
Geoff Hayes
el 6 de Mayo de 2014
yousef - please define what you mean by repeated. Do you mean that the current row repeats with a previous row in the matrix (so if you are considering row i then it is repeated if there is at least one row in the matrix from 1 to i-1 that is identical to row i? Or do you mean that row i is repeated in any row of the matrix from 1 to i-1 or i+1 to m (where m is the number of rows in your matrix).
Respuestas (2)
Geoff Hayes
el 7 de Mayo de 2014
Editada: Geoff Hayes
el 7 de Mayo de 2014
yousef - please remove/delete your answer (as it isn't an answer to your question). I've attached your pdf to this one.
From the document, your xx is shown as:
xx =
1 7 0 0
2 10 0 0
3 0 0 0
4 0 0 0
5 0 0 0
6 0 0 0
1 7 0 0
8 0 0 0
9 0 0 0
2 10 0 0
where any element in the first column represents an index (into ww) of the first occurrence of that value in ww. Here is your ww:
ww =
6 7 5 9 8 10 6 4 2 7
From the above, we see that x(1:6,1) are unique indicating that the first six values of ww are unique. The seventh value, xx(7,1), is 1, indicating that ww(7)==ww(1). x(8:9,1) are unique to any previous value in this first column, and xx(10,1) is 2, indicating that ww(10)==ww(2).
Thus if you are iterating over the first column in xx, you know if you have a repeated value in ww (not quite the row you mentioned above) if its index value, xx(i,1) is less than i:
[m,n] = size(xx);
for i=1:m
if xx(i,1)==i
% we have not encountered this number in ww before (i.e. ww(xx(i,1)) is unique thus far)
% so do stuff
else
% xx(i,1) is less than i, so we must have encountered this index in ww already
% do nothing
continue; % not needed, but just to be clear nothing happens here
end
end
5 comentarios
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!