Разреженные матрицы: sparce, spy, speye, spalloc
При использовании численных методов (метод конечных разностей, метод конечных элементов) часто возникают матрицы, в которых ненулевые элементы составляют лишь малую часть. Такие матрицы называются разреженными. Было бы нерационально тратить драгоценную память компьютера на запоминание огромного количества нулей. Рассмотрим пример.
A = 1 0 0 0 -1 0 2 0 0 0 0 0 1 0 0 0 0 0 2 0 0 4 0 0 1
В этой матрице из 25 чисел лишь семь ненулевых, то есть меньше одной трети. С увеличением размеров матриц эта доля, как правило, уменьшается. В матрице жесткости конструкции, возникающей при применении МКЭ, доля ненулевых элементов обычно менее 5-ти процентов. Для хранения таких матриц в MATLAB’e используется специальная технология.
Выполните команду:
>> B = sparse(A) B = (1,1) 1 (2,2) 2 (5,2) 4 (3,3) 1 (4,4) 2 (1,5) -1 (5,5) 1
Команда sparse (sparse - редкий) изменяет порядок хранения матрицы. То есть матрица B – это та же самая матрица A, но для запоминания каждого ненулевого элемента используется одно вещественное значение (величина элемента) и два целых (номера строки и столбца, в которых располагается этот элемент). А нулевые элементы, таким образом, вообще не занимают памяти. Обращаться с разреженной матрицей можно также, как и с обычной. Например, сложить с другой матрицей
>> A+B ans = 2 0 0 0 -2 0 4 0 0 0 0 0 2 0 0 0 0 0 4 0 0 8 0 0 2
Все нюансы, возникающие при выполнении операций с разреженными матрицами (а они имеются) MATLAB решает сам. Вникать в них вам не обязательно. Единственное, что требуется от вас – это дать понять MATLAB’у, с какой матрицей следует обращаться как с разреженной, а с какой – как с обычной. Для работы с разреженными матрицами имеется довольно много функций. Однако на настоящем этапе ограничимся только одной:
>> spy(A)
Упражнения.
Задание
Найти решение системы линейных алгебраических уравнений . Матрицу A и вектор b взять по номеру своего варианта, заменяя значение n номером своего варианта. Работу оформить в виде m-файла. Матрицу A следует создавать с использованием функций формирования матриц, имеющихся в системе MATLAB.
Популярное: Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (468)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |