Need help changing this code

Hi, I have... a = [ 2 5 1; 3 6 2; 3 4 1; 9 4 2; 8 3 1; 3 2 2; 9 5 2; 4 8 1]
Notice how the last column follows a pattern of 1, 2,1,2..and so on. The 7th row however has a 2 in the last column just like the 6th row before...thus does not follow the pattern.
I have a code right now that deletes the 7th row, but now I want to change this code to make it delete the 6th row rather than the 7th. Can someone help me change the code to delete the 7th row instead of the 6th.
[m,n] = size(a);
expected = 1; % initialize expected value in 1st row
x = false(m,1); % initialize the deletion flag array
for k=1:m
if( a(k,n) ~= expected )
x(k) = true; % if not as expected, mark for deletion
else
expected = 3 - expected; % if as expected, update expected
end
end
a(x,:) = []; % delete the unexpected pattern rows

Respuestas (1)

Walter Roberson
Walter Roberson el 15 de Jul. de 2015

0 votos

The obvious change would be
x(k-1) = true;
but then you face the question of what you want to delete if the first entry, k = 1, was not as expected

Categorías

Más información sobre Performance and Memory en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 15 de Jul. de 2015

Respondida:

el 15 de Jul. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by