find a rows in matrix and its position in that matrix ?

1 visualización (últimos 30 días)
MUKESH KUMAR
MUKESH KUMAR el 22 de Nov. de 2017
Comentada: MUKESH KUMAR el 12 de Dic. de 2017
datasheet(48*6)size
%I had a matrix of size(48*6) and then
ii = randperm(size(datasheet,1));
k = ones(24,1)*2;
out = mat2cell(datasheet(ii(1:sum(k)),:),k,size(datasheet,2));
%then i select a row from datasheet lets say 4th row
B=datasheet(4,:);
%now I want to find out the position of that 4th row in "out" matrix.

Respuesta aceptada

Walter Roberson
Walter Roberson el 22 de Nov. de 2017
out{ ceil( find(ii == 4)/2 ) }
  3 comentarios
Walter Roberson
Walter Roberson el 22 de Nov. de 2017
Row ceil( find(ii == 4)/2 )
MUKESH KUMAR
MUKESH KUMAR el 12 de Dic. de 2017
If I have updated K and datasheet values like attached file then I did not find according to this code and I also tried Index/find but did not get

Iniciar sesión para comentar.

Más respuestas (1)

Andrei Bobrov
Andrei Bobrov el 22 de Nov. de 2017
Editada: Andrei Bobrov el 22 de Nov. de 2017
In general case:
[~,ji] = cellfun(@(x)ismember(B,x,'rows'),out,'un',0);
jj_cell = find(cellfun(@(x)x>0,ji));
ii_row_in_cell = ji{jj_cell};

Categorías

Más información sobre MATLAB 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