ВУЗ:
Составители:
Рубрика:
22
Обращение к элементу разреженной матрицы происходит так же, как и к
элементу плотной матрицы: в результате операции
A(i,j)=c получаем
ij
ac= .
Все рассмотренные функции MATLAB являются универсальными и
применимы как к заполненным, так и к разреженным матрицам, хранящимся
в форме массива
sparse array. Так как при хранении матриц в разре-
женном формате не производятся действия над нулевыми элементами, то это
дает значительную экономию времени. Значения математических функций от
разреженных матриц также являются разреженными матрицами. Обратите
внимание, если функция определена при нулевом значении аргумента, про-
стейший пример – косинус, то результатом применения такой функции будет
полностью
заполненная матрица, хранящаяся в форме sparse array, что
нерационально, так как хранятся не только все элементы матрицы, но и все
индексы. Если необходимо применить функцию только к ненулевым элемен-
там разреженной матрицы
A, то применяется функция spfun(FUN,A), где
FUN – указатель на функцию. Например, для вычисления экспоненты от не-
нулевых элементов можно вызвать функцию
spfun('exp',A), или
spfun(@exp,A).
Результаты выполнения операций над матрицами, одна из которых хра-
нится в обычном формате, а другая – в разреженном, достаточно очевидны с
математической точки зрения. Например, при перемножении таких матриц
результат будет представлен в обычном формате. С помощью функции
issparse(A) можно проверить, хранится ли матрица в разреженном фор-
мате. Функция возвращает 1 ("истина"), если матрица хранится в разрежен-
ном формате и 0 ("ложь") в противном случае.
Функция
spalloc(m, n, nzmax) возвращает пустую разреженную
матрицу размера
mn× с максимальным числом ненулевых элементов
nzmax, например,
>> A1=spalloc(6,8,10)
A1 =
Обращение к элементу разреженной матрицы происходит так же, как и к элементу плотной матрицы: в результате операции A(i,j)=c получаем aij = c . Все рассмотренные функции MATLAB являются универсальными и применимы как к заполненным, так и к разреженным матрицам, хранящимся в форме массива sparse array. Так как при хранении матриц в разре- женном формате не производятся действия над нулевыми элементами, то это дает значительную экономию времени. Значения математических функций от разреженных матриц также являются разреженными матрицами. Обратите внимание, если функция определена при нулевом значении аргумента, про- стейший пример – косинус, то результатом применения такой функции будет полностью заполненная матрица, хранящаяся в форме sparse array, что нерационально, так как хранятся не только все элементы матрицы, но и все индексы. Если необходимо применить функцию только к ненулевым элемен- там разреженной матрицы A, то применяется функция spfun(FUN,A), где FUN – указатель на функцию. Например, для вычисления экспоненты от не- нулевых элементов можно вызвать функцию spfun('exp',A), или spfun(@exp,A). Результаты выполнения операций над матрицами, одна из которых хра- нится в обычном формате, а другая – в разреженном, достаточно очевидны с математической точки зрения. Например, при перемножении таких матриц результат будет представлен в обычном формате. С помощью функции issparse(A) можно проверить, хранится ли матрица в разреженном фор- мате. Функция возвращает 1 ("истина"), если матрица хранится в разрежен- ном формате и 0 ("ложь") в противном случае. Функция spalloc(m, n, nzmax) возвращает пустую разреженную матрицу размера m × n с максимальным числом ненулевых элементов nzmax, например, >> A1=spalloc(6,8,10) A1 = 22
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »