И другие программы этой серии
Имя function – это имя m-файла или встроенной в ядро функции. function должна работать с матричным аргументом S и вычислить функцию для каждого элемента матрицы S. Пример:
>> S=spfun(@exp,sprand(4,5,0.4)) S =
(2.2) 1.6864
(2.3) 2.4112
(3.3) 2.6638
(2.4) 1.1888 (3,4) 1.3119
(4.4) 2.4007
(3.5) 1.2870
• R = spones(S) генерирует матрицу R той же разреженности, что и S, но заменяет на 1 все ненулевые элементы исходной матрицы. Пример:
>> S=sprand(3,2,0.3) S =
(3.1) 0.2987
(1.2) 0.1991 >> spones(S) ans =
(3.1) 1
(1.2) 1
5.1.5. Функция spy визуализации разреженных матриц
Визуализация разреженных матриц нередко позволяет выявить не только любопытные, но и полезные и поучительные свойства тех математических закономерностей, которые порождают такие матрицы или описываются последними. MATLAB имеет специальные средства для визуализации разреженных матриц, реализованные приведенными ниже командами:
• spy(S) графически отображает разреженность произвольной матрицы S;
• spy(S,markersize) графически отображает разреженность матрицы S, выводя маркеры в виде точек точно определенного размера markersize;
• spy(S,\'LineSpec\') отображает разреженность матрицы в виде графика с точно определенным (с помощью параметра LineSpec) цветом линии и маркера. Параметр Linespec определяется так же, как параметр команды plot;
• spy(S,\'LineSpec\',markersize) использует точно определенные тип, цвет и размер графического маркера. Обычно S – разреженная матрица, но допустимо использование и полной матрицы, когда расположение элементов, отличных от нуля, составляет график.
242
Типы данных – массивы специального вида
Разреженные матрицы
243
Пример:
>>S=sparse(sprandn(20,30,0.9));spy(S,\'.r\',6) Построенный по этому примеру график показан на рис. 5.1.
Рис. 5.1. Визуализация разреженной матрицы
5.1.6.
Начало в части 1