Преобразуйте разреженную матрицу в полную матрицу
A = полный (S)
A = full(S)
преобразовывает разреженную матрицу S
в полную организацию устройства хранения данных, такую, что issparse(A)
возвращает логический 0
(false
). Если S
является полной матрицей, то A
идентичен S
.
Вот пример разреженной матрицы с плотностью приблизительно 50%. sparse(S)
и full(S)
требуют о том же количестве байтов устройства хранения данных.
S = sparse(double(rand(200,200) < 1/2)); A = full(S); whos Name Size Bytes Class Attributes A 200x200 320000 double S 200x200 320824 double sparse
Если X
является m
-by-n
матрица с nz
ненулевые элементы затем, full(X)
требует, чтобы пробел сохранил элементы m*n
. С другой стороны, sparse(X)
требует, чтобы пробел сохранил элементы nz
и целые числа (nz+n+1)
.
Плотность матрицы (nnz(X)/numel(X)
) определяет, более ли эффективно сохранить матрицу как разреженную или полную. Точная точка перехода зависит от матричного класса, а также платформы. Например, в 32-битном MATLAB®, двойная разреженная матрица с меньше, чем о 2/3 плотности потребует меньшего количества пробела, чем та же матрица в полном устройстве хранения данных. В 64-битном MATLAB, однако, двойные матрицы с меньше чем половиной их ненулевых элементов более эффективны, чтобы сохранить как разреженные матрицы.