how to find Place on non zero values in matrix?

1 visualización (últimos 30 días)
Tha saliem
Tha saliem el 5 de Mzo. de 2018
Comentada: Tha saliem el 5 de Mzo. de 2018
hey all
i need to find places of 1's in matrix A:
A = [0,0,0,1,0,0,1,1,0;0,0,1,0,0,0,0,0,1;0,0,0,0,1,0,0,0,0]
result = {[4,7,8];[3,9];5}
please help

Respuesta aceptada

Stephen23
Stephen23 el 5 de Mzo. de 2018
Editada: Stephen23 el 5 de Mzo. de 2018
>> A = [0,0,0,1,0,0,1,1,0;0,0,1,0,0,0,0,0,1;0,0,0,0,1,0,0,0,0];
>> [R,C] = find(A);
>> X = accumarray(R,C,[],@(v){v.'});
>> X{:}
ans =
4 7 8
ans =
3 9
ans =
5

Más respuestas (2)

javad ebrahimi
javad ebrahimi el 5 de Mzo. de 2018
HI dear Tha saliem
I hope that I have been able to understand what you mean, and the following code can help you
clc;clear;close all
A = [0,0,0,1,0,0,1,1,0;0,0,1,0,0,0,0,0,1;0,0,0,0,1,0,0,0,0];
B=find(A~=0)
size=size(A)
[Row,Col]=ind2sub(size,B)
result={Col(Row==1),Col(Row==2),Col(Row==3)}
  1 comentario
Tha saliem
Tha saliem el 5 de Mzo. de 2018
Hi.. it also solves the problem. thank you for your answer.

Iniciar sesión para comentar.


Jan
Jan el 5 de Mzo. de 2018
A = [0,0,0,1,0,0,1,1,0;0,0,1,0,0,0,0,0,1;0,0,0,0,1,0,0,0,0]
result = cellfun(@find, num2cell(A, 2), 'UniformOutput', 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