How to find position of value in matrix and write as another matrix
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Akmyrat
el 13 de Ag. de 2014
Editada: Andrei Bobrov
el 13 de Ag. de 2014
Lets say i have this matrix
A = [1 0;
0 0;
1 1;
0 1;
0 0]
Now i want to write the positions of line of value "1" in another matrix B. In A it should start from column1. answer should be like this
B=[1 3 3 4]
which is in column1 value"1" is at 1 and 3, and in column 2 value"1" is at line 3 and 4.
0 comentarios
Respuesta aceptada
the cyclist
el 13 de Ag. de 2014
Editada: the cyclist
el 13 de Ag. de 2014
[ii jj] = find(A);
B = ii';
Since you don't need the jj index, you can just do
[ii ~] = find(A);
B = ii';
instead.
Más respuestas (1)
Andrei Bobrov
el 13 de Ag. de 2014
Editada: Andrei Bobrov
el 13 de Ag. de 2014
on Akmyrat's comment
[B,~] = find(A(:,[1 3 2]));
B = B';
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!