Купить Matlab  |  Mathematica  |  Mathcad  |  Maple  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Форум  |  Download
https://hub.exponenta.ru/


Справочник по Matlab
  • Массивы, матрицы и операции с ними
  • Математические функции
  • Линейная алгебра
  • Анализ и обработка данных
  • Работа с разреженными матрицами
  • Графические команды и функции
  •  
    SPARSE
    Формирование разреженной матрицы

    Синтаксис:

                S = sparse(i, j, s, m, n, nzmax)
                S = sparse(i, j, s, m, n)
                S = sparse(i, j, s)
                S = sparse(m, n)
                S = sparse(A)

    Описание:

    Функция sparse - это встроенная функция, которая формирует матрицы в соответствии с правилами записи разреженных матриц, принятыми в системе MATLAB; количество входных аргументов этой функции - от 1 до 6.

    Функция S = sparse(A) преобразовывает полную матрицу в разреженную, удаляя из описания нулевые элементы; если исходная матрица разреженная, то sparse(S) возвращает S.

    Общая форма функции S = sparse(i, j, s, m, n, nzmax) использует строки массива [i j s] для формирования разреженной матрицы размера m х n с ненулевыми элементами, количество которых не превышает nzmax. Векторы i и j задают позиции элементов и являются целочисленными, а вектор c определяет числовое значение элемента матрицы, которое может быть действительным или комплексным. При формировании разреженной матрицы все строки вида [i j 0] из описания удаляются. Длина результирующего вектора s точно совпадает с количеством ненулевых элементов разреженной матрицы.

    При формировании разреженной матрицы допускается использовать меньшее число входных аргументов, чем это требуется, а также ряд других упрощений. Так, один из аргументов i, j или s может быть скаляром, но при этом система MATLAB сама дополнит такой вектор до требуемой длины, которая определяется другими элементами.

    Обращение вида S = sparse(i, j, s, m, n) предполагает по умолчанию, что nzmax = lenght(s).

    Обращение вида S = sparse(i, j, s) предполагает, что m = max(i) и n = max(j); эти функции вычисляются раньше, чем будут удалены строки с нулевыми значениями s.

    Обращение вида S = sparse(m, n) резервирует пространство для разреженной матрицы и равносильно обращению sparse([ ], [ ], [ ], m, n, 0), где все m х n элементов являются нулевыми.

    Над разреженными матрицами могут совершаться любые арифметические, логические и индексные операции, то же справедливо и для смешанных операндов - полных и разреженных массивов. Операции с однородными операндами возвращают тот же тип операнда; в случае смешанных операндов, как правило, возвращается полный тип, за исключением случаев, когда в явном виде сохраняется разреженный тип. Например, при поэлементном умножении массивов A .* S, где S - разреженный массив.

    Некоторые операции, например S >= 0, приводят к генерации так называемых BS(Big Space)-матриц, которые имеют разреженную структуру, но очень большое количество нулевых элементов.

    Примеры:

    Функция S = sparse(1:n, 1:n, 1) формирует единичную матрицу n х n с разреженной структурой и коэффициентом заполнения 1/n. Тот же результат может быть получен с помощью оператора S = sparse(eye(n, n)), но при этом промежуточная матрица будет иметь полную структуру.

    Массив вида B = sparse(10000, 10000, pi), состоящий из одного элемента, вероятно, не очень полезен, но такое обращение допустимо. Не пытайтесь применить функцию full(B), вам потребуется 800 М памяти.

    Следующая последовательность операторов сначала определяет структуру, а затем формирует разреженную матрицу.

                   [i, j, s] = find(S);
                   [m, n] = size(S);
                   S = sparse(i, j, s, m, n);

    Сопутствующие функции: FULL, FIND, SPY, NONZEROS, NNZ, NZMAX, DIAG, SPONES, SPRANDSYM.

    В начало страницы К предыдущему разделуК следующему разделу

    | На первую страницу | Поиск | Купить Matlab

    Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter


    Copyright © 1993-2024. Компания Softline. Все права защищены.

    Дата последнего обновления информации на сайте: 04.03.17
    Сайт начал работу 01.09.00