How to obtain an array of the indices from the original array when using nchoosek
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Kevin H
el 22 de Ag. de 2023
Comentada: Kevin H
el 22 de Ag. de 2023
How do I use nchoosek and also efficiently generate an array that has the indices from the original array. For instance,
A = [7, 8, 9]
B = nchoosek(A, 2)
so B = [7, 8; 7, 9; 8, 9]
I want a matrix C that holds the indices in A of all the members of B:
C = [1, 2; 1, 3; 2, 3].
I can generate C using a for loop since we know how nchoosek is going to generate the combinations, but this seems very wasteful precisely because we know how nchoosek is going to generate the combinations, all the information of the indices is already there in our first call of nchoosek. How do I get C efficiently?
0 comentarios
Respuesta aceptada
the cyclist
el 22 de Ag. de 2023
Editada: the cyclist
el 22 de Ag. de 2023
I have to admit I am not absolutely certain about what you want as input and output. Here is my best guess:
A = [7, 8, 9];
C = nchoosek(1:numel(A),2)
B = A(C)
Ver también
Categorías
Más información sobre Matrices and Arrays 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!