И другие программы этой серии
Эта функция дает
только выход s, но не значения i и j из аналогичного выражения
[i,j,s]=find(A). Вообще, length(s)=nnz(A)?nzmax(A)?prod
(size(A)). Пример:
>> g=nonzeros(sparse(hankel([1,2,8])))
g=
1
2
8
2
8
8
• R = spones(S) генерирует матрицу R той же разреженности, что и S, но
заменяет на 1 все ненулевые элементы исходной матрицы. Пример:
>> S=sprand(3,2,0.3)
S=
(3,1)
(1,2)
>> spones(S)
ans =
(3,1)
(1,2)
0.2987
0.1991
1
1
• nzmax(S) возвращает количество ячеек памяти для ненулевых элементов.
Обычно функции nnz(S) и nzmax(S) дают один и тот же результат. Но
если S создавалась в результате операции над разреженными матрицами,
такой как умножение или LU разложение, может быть выделено больше
элементов памяти, чем требуется, и nzmax(S) отражает это. Если S – раз
реженная матрица, то nzmax(S) – максимальное количество ячеек для
хранения ненулевых элементов. Если S – полная матрица, то nzmax(S)=
=numel(S). Пример:
>> q=nzmax(sparse(hankel([1,7,23])))
q=6