How to delete repeated column in this matrix?

1 visualización (últimos 30 días)
Matlab111
Matlab111 el 30 de En. de 2015
Editada: Matlab111 el 30 de En. de 2015
a= [6.7747 15.1502 126.0000
67.9227 33.3699 74.0000
54.9636 40.7709 74.0000
102.5013 144.4162 44.0000
67.9227 33.3699 74.0000
54.9636 40.7709 74.0000];
i should not get the repeated values and i should get like this.
b=[6.7747 15.1502 126.0000
67.9227 33.3699 74.0000
54.9636 40.7709 74.0000
102.5013 144.4162 44.0000];
  4 comentarios
Niels
Niels el 30 de En. de 2015
I believe he refers to the fact that a matrix consist of rows and columns and that your example is, in contrast to what you state, referring to duplicate rows instead of columns ;)
Matlab111
Matlab111 el 30 de En. de 2015
ya that's right it's not a matrix it's a value that's consist three variables like this
'x' y z
[67.9227 33.3699 74.0000];
but i'm considering only rows not columns in above my example.

Iniciar sesión para comentar.

Respuesta aceptada

Niels
Niels el 30 de En. de 2015
b = unique(a,'rows','stable');
b =
6.7747 15.1502 126
67.9227 33.3699 74
54.9636 40.7709 74
102.5013 144.4162 44
That should do it.
  8 comentarios
Niels
Niels el 30 de En. de 2015
If you know beforehand how many rows you will obtain, you could do something like this:
allRows = zeros(N,3); % put this before line 308 where your loop starts. N is the number of rows you will expect.
Then replace your line b = S_nodes(sort(x),:); with
allRows(i,:) = S_nodes;
And finally place your uniqueness check after line 325 (where the loop ends):
b = unique(allRows,'rows','stable');
disp(b);
or
[~,x,~] = unique(S_nodes,'rows','first');
b = S_nodes(sort(x),:);
disp(b);
If you don't know how many rows you will obtain, you can do it in a slightly more dirty way:
allRows = []; % put this before line 308 where your loop starts. N is the number of rows you will expect.
And in your loop:
allRows(end+1,:) = S_nodes;
The rest can be done in the same fashion as above.
This should be sufficient to get you started.
Matlab111
Matlab111 el 30 de En. de 2015
Editada: Matlab111 el 30 de En. de 2015
ya Thank you i'm getting...

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by