Преобразуйте разреженную матрицу в полную матрицу
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, однако, двойные матрицы с меньше чем половиной их ненулевых элементов более эффективны, чтобы сохранить как разреженные матрицы.