Иллюстрированный самоучитель по MatLab
Функции разреженных матриц
-
Матрицы без нулевых значений называются полными матрицами. Матрицы, содержащие некоторое число элементов с нулевыми значениями, в MATLAB называются разреженными матрицами.
-
Теперь рассмотрим функции преобразования разреженных матриц. Они представлены ниже: | k = f ind(X) – возвращает индексы вектора х для его ненулевых элементов. Если таких элементов нет, то find возвращает пустой вектор .find(X>100) возвращает индексы элементов вектора с Х>100;
-
Поскольку разреженные матрицы содержат ненулевые элементы, то предусмотрен ряд функций для работы с ними: | nnz(X) – возвращает число ненулевых элементов матрицы X. Плотность разреженной матрицы определяется по формуле nnz(X)/numel (X). Пример: | h = sparse(hilb(10)); | >> nnz(h) | ans = | 100
-
Визуализация разреженных матриц нередко позволяет выявить не только любопытные, но и полезные и поучительные свойства тех математических закономерностей, которые порождают такие матрицы или описываются последними.
-
Упорядочение – это еще одна характерная для разреженных матриц операция. Ее алгоритм реализуется несколькими функциями: | р = colmmd(S) – возвращает вектор упорядоченности столбцов разреженной матрицы S. [то nzmax(S) – максимальное количество ячеек для хранения ненулевых элементов.
-
Ниже представлены функции, позволяющие вычислять числа обусловленности и ранги для разреженных матриц. | с = condest(A) – использует метод Хейджера в модификации Хаема для оценки числа обусловленности матрицы по первой норме.
-
cholinc(X,'0') – возвращает неполное разложение Холецкого для действительной симметрической положительно определенной разреженной матрицы [nrm = norm(S) занимает слишком много времени. Эта функция изначально предназначена для работы с разреженными матрицами, хотя она работает корректно и с большими полными матрицами;]. Результат представляет собой верхнюю треугольную матрицу;
-
Функция luinc осуществляет неполное LU-разложение и возвращает нижнюю треугольную матрицу, верхнюю треугольную матрицу и матрицу перестановок для разреженных матриц [Благодаря LAPACK в MATLAB 6 появилась отсутствующая в прежних версиях возможность использовать команду lu для точного LU-разложения разреженных матриц. – Примеч. ред.]. Используется в следующих формах:
-
…
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.