Создайте разреженную матрицу
S = sparse(A)S = sparse(m,n)S = sparse(i,j,v)S = sparse(i,j,v,m,n)S = sparse(i,j,v,m,n,nz) преобразовывает полную матрицу в разреженную форму путем отжимания любых нулевых элементов. Если матрица содержит много нулей, преобразовывание матрицы к разреженному устройству хранения данных сохраняет память.S = sparse(A)
генерирует S = sparse(m,n)m-by-n вся нулевая разреженная матрица.
генерирует разреженную матрицу S = sparse(i,j,v) S от триплетов i, j и v, таким образом что S(i(k),j(k)) = v(k). max(i)-by-max(j) выходная матрица выделили пробел для length(v) ненулевые элементы. sparse добавляет вместе элементы в v, которые имеют дублирующиеся индексы в i и j.
Если входные параметры, i, j и v являются векторами или матрицами, у них должно быть то же число элементов. Также аргумент v и/или один из аргументов i или j могут быть скалярами.
задает размер S = sparse(i,j,v,m,n) S как m-by-n.
выделяет место для S = sparse(i,j,v,m,n,nz) nz ненулевые элементы. Используйте этот синтаксис, чтобы выделить дополнительное место для ненулевых значений, чтобы быть заполненными в после конструкции.
MATLAB® хранит разреженные матрицы в сжатом разреженном формате столбца. Для получения дополнительной информации смотрите Джона Р. Гильберта, Клив Молер и Разреженные матрицы Роберта Шрайбера В MATLAB: Разработка и реализация.
Функция accumarray имеет подобное поведение накопления к тому из sparse.
Данные групп accumarray в интервалы с помощью n-мерных индексов, но данных групп sparse в интервалы с помощью 2D индексов.
accumarray добавляет элементы, которые имеют идентичные индексы в вывод по умолчанию, но могут опционально применить любую функцию к интервалам. sparse только добавляет элементы, которые имеют идентичные индексы в вывод.
accumarray | diag | нахождение | полный | issparse | nnz | ненули | nzmax | spalloc | speye | spones | sprandn | sprandsym | шпион