Working with a set of matrices
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lorcan O'Connor
el 3 de Abr. de 2021
Comentada: Lorcan O'Connor
el 3 de Abr. de 2021
I want to generate a finite matrix group by starting with the S ={identity} and multiplying by some generators until S no longer grows in size.
Is there an efficient way to deal with a "set" like this, without manualling checking for duplicates? For example, it seems awkward if you use cell arrays to store the elements of S.
2 comentarios
Matt J
el 3 de Abr. de 2021
For example, it seems awkward if you use cell arrays to store the elements of S.
Why?
Respuesta aceptada
Matt J
el 3 de Abr. de 2021
Editada: Matt J
el 3 de Abr. de 2021
I'm not sure I will fully understand the task without seeing an example. However, if S is organized as an MxNxP array,
[M,N]=deal(3,3);
S=cat(3,eye(M,N), randi(5,M,N), eye(M,N) )
then you can get rid of duplicate slices with
s=reshape(S,[],size(S,3));
S=reshape( unique(s.','rows').', M,N,[])
If S contains non-integer matrices, you will probably need to use uniquetol() instead of unique().
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrix Indexing 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!