Мегаобучалка Главная | О нас | Обратная связь


Разреженные матрицы: sparce, spy, speye, spalloc



2015-12-07 468 Обсуждений (0)
Разреженные матрицы: sparce, spy, speye, spalloc 0.00 из 5.00 0 оценок




 

При использовании численных методов (метод конечных разностей, метод конечных элементов) часто возникают матрицы, в которых ненулевые элементы составляют лишь малую часть. Такие матрицы называются разреженными. Было бы нерационально тратить драгоценную память компьютера на запоминание огромного количества нулей. Рассмотрим пример.

 

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)


Эта функция (spy – подглядывать, подсматривать) дает графическое изображение расположения ненулевых элементов. Здесь, для матрицы размера 5х5 такое изображение мало, что дает. Однако в тех случаях, когда размер матрицы порядка сотен или даже тысяч, такая картинка дает очень ценную информацию о структуре матрицы.

 

Упражнения.

  1. Создайте обычным способом матрицу размера 6х6 с 7-8-ью ненулевыми элементами.
  2. Преобразуйте эту матрицу в разреженную
  3. Получите портрет матрицы

 

 

Задание

 

Найти решение системы линейных алгебраических уравнений . Матрицу A и вектор b взять по номеру своего варианта, заменяя значение n номером своего варианта.

Работу оформить в виде m-файла. Матрицу A следует создавать с использованием функций формирования матриц, имеющихся в системе MATLAB.

 

1–5.

 

6–10.

 

11–15.

 

16–20.

 

21–25.

 

26–30.

 



2015-12-07 468 Обсуждений (0)
Разреженные матрицы: sparce, spy, speye, spalloc 0.00 из 5.00 0 оценок









Обсуждение в статье: Разреженные матрицы: sparce, spy, speye, spalloc

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (468)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)