Selecting array column elements using a vector..?
    8 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Hi everyone,
I need to select elements from a 2D array. I have an index vector whose (i)'th value is the desired row to select from the array. Is there a good, simple method to do this..?
In the following code, I want to extract the following (row,column) array elements: (3,1), (2,2), (4,3), (1,4) : giving the vector: [9 11 15 13]
>> A = magic(4)
A =
    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1
>> viRow = [3 2 4 1]
viRow =
     3     2     4     1
Referring to the doc page on Matrix Indexing, I thought my solution would have been: A(viRow,:) However, this code applies the index vector to each column, which isn't what I want.
>> A(viRow,:)
ans =
     9     7     6    12
     5    11    10     8
     4    14    15     1
    16     2     3    13
Could someone please point me in the right direction?
Thanks, Brad
0 comentarios
Respuesta aceptada
  Fangjun Jiang
      
      
 el 7 de Sept. de 2011
        Vi=[3 2 4 1];
A=magic(4);
Index=sub2ind(size(A),Vi,1:4);
B=A(Index)
Más respuestas (0)
Ver también
Categorías
				Más información sobre Matrix Indexing en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

