sparse
Crear una matriz dispersa
Sintaxis
Descripción
genera una matriz dispersa S
= sparse(i,j
,v
)S
a partir de los tripletes i
, j
y v
de forma que S(i(k),j(k)) = v(k)
. La matriz de salida de max(i)
por max(j)
tiene espacio asignado para los elementos distintos de cero length(v)
.
Si las entradas i
, j
y v
son vectores o matrices, deben tener el mismo número de elementos. Como alternativa, el argumento v
o uno de los argumentos i
o j
pueden ser escalares.
Ejemplos
Argumentos de entrada
Argumentos de salida
Limitaciones
Si alguna de las entradas
i,j
om,n
es mayor que2^31-1
en plataformas de 32 bits, o2^48-1
en plataformas de 64 bits, la matriz dispersa no se puede construir.
Sugerencias
MATLAB® almacena matrices dispersas en formato de columna dispersa comprimida. Para obtener más información, consulte John R. Gilbert, Cleve Moler, and Robert Schreiber's Sparse Matrices In MATLAB: Design and Implementation.
La función
accumarray
tiene un comportamiento de acumulación similar al desparse
.accumarray
agrupa los datos en bins utilizando subíndices de n dimensiones, perosparse
agrupa los datos en bins con subíndices 2D.accumarray
añade elementos que tienen subíndices idénticos en la salida de forma predeterminada, pero opcionalmente puede aplicar cualquier función a los bins.sparse
aplica la funciónsum
a los elementos que tienen subíndices idénticos en la salida (para valores dobles) o aplica la funciónany
(para valores lógicos).
Referencias
[1] Gilbert, John R., Cleve Moler, and Robert Schreiber. “Sparse Matrices in MATLAB: Design and Implementation.” SIAM Journal on Matrix Analysis and Applications 13, no. 1 (January 1992): 333–356. https://doi.org/10.1137/0613024.
[2] Chen, Yanqing, Timothy A. Davis, William W. Hager, and Sivasankaran Rajamanickam. “Algorithm 887: CHOLMOD, Supernodal Sparse Cholesky Factorization and Update/Downdate.” ACM Transactions on Mathematical Software 35, no. 3 (October 2008): 1–14. https://doi.org/10.1145/1391989.1391995.