close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Initial Version and Version 3 of Ticket #1453


Ignore:
Timestamp:
Feb 27, 2012, 10:54:34 AM (13 years ago)
Author:
Víctor de Buen Remiro
Comment:

Efectivamente ese es el paquete que se ocupa de esas cosas, en particular, se precisa la versión MatQuery.3.4 para seleccionar datos no omitidos tal y como se ve en este ejemplo:

#Require MatQuery;

//Genero una matriz con un porcentage aproximado del 20% de omitidos
Real N = 100;
Matrix M = IfMat(LE(Rand(N,1,0,1),0.2),?,Rand(N,1,-10,10));
//Calculo los indices de filas con datos no omitidos
Set selKnown = MatQuery::SelectRowsFullKnown(Mat2VMat(M));
//Extraigo las filas con datos no omitidos
Matrix M.known = SubRow(M,selKnown);

Obsérvese que el paquete está diseñado para operar sobre VMatrix por lo que si se tiene una Matrix hay que convertirla primeo con Mat2VMat.

Para seleccionar las filas con un valor concreto se usaría MatQuery::SelectRowsWithValue y hay otros métodos de selección específicos para un conjunto de valores, para un rango, para un entorno hiperesférico o hipercúbico, etc.

Lo más sencillo es explorar el paquete en TolBase y mirar las descripciones en el inspector de objetos como en esta imagen

source:/tolp/trunk/tol_tests/tol/Bugzilla/bug_001453/MatQuery.Methods.png

Legend:

Unmodified
Added
Removed
Modified