Вычислительные методы линейной алгебры. Горбаченко В.И - 19 стр.

UptoLike

19
>> x=W*b
x =
0.000000000000000
0.500000000000000
Решение совпало с ранее полученным.
1.2. Хранение и обработка разреженных матриц
Разреженные матрицы в MATLAB можно хранить с использованием
специального типа данных
sparse array. Массивы типа sparse array
хранят номера строк и столбцов ненулевых элементов и сами ненулевые эле-
менты. Нулевые элементы не хранятся. Функция
sparse позволяет полу-
чить из полной матрицы ее компактное представление:
>> A=[4 1 0 0 1 0
1 4 1 0 0 0
0 1 4 0 0 0
0 0 0 4 0 1
1 0 0 0 4 1
0 0 0 1 1 4];
>> AS=sparse(A)
AS =
(1,1) 4
(2,1) 1
(5,1) 1
(1,2) 1
(2,2) 4
(3,2) 1
(2,3) 1
(3,3) 4
(4,4) 4
(6,4) 1
(1,5) 1
(5,5) 4
(6,5) 1
(4,6) 1
(5,6) 1
(6,6) 4
Функция sparse возвращает индексы (строка, колонка) и значения не-
нулевых элементов. С помощью команды
whos можно увидеть затраты па-
мяти на хранение матрицы в двух рассмотренных форматах. В данном про-
стейшем примере выигрыш памяти небольшой, но для реальных разрежен-
ных матриц выигрыш, обычно, очень большой.
>> whos A AS
Name Size Bytes Class Attributes
>> x=W*b
x =
   0.000000000000000
   0.500000000000000
Решение совпало с ранее полученным.


      1.2. Хранение и обработка разреженных матриц

    Разреженные матрицы в MATLAB можно хранить с использованием
специального типа данных sparse array. Массивы типа sparse array
хранят номера строк и столбцов ненулевых элементов и сами ненулевые эле-
менты. Нулевые элементы не хранятся. Функция sparse позволяет полу-
чить из полной матрицы ее компактное представление:
    >> A=[4 1 0 0 1    0
          1 4 1 0 0    0
          0 1 4 0 0    0
          0 0 0 4 0    1
          1 0 0 0 4    1
          0 0 0 1 1    4];
    >> AS=sparse(A)
    AS =
       (1,1)           4
       (2,1)           1
       (5,1)           1
       (1,2)           1
       (2,2)           4
       (3,2)           1
       (2,3)           1
       (3,3)           4
       (4,4)           4
       (6,4)           1
       (1,5)           1
       (5,5)           4
       (6,5)           1
       (4,6)           1
       (5,6)           1
       (6,6)           4
    Функция sparse возвращает индексы (строка, колонка) и значения не-
нулевых элементов. С помощью команды whos можно увидеть затраты па-
мяти на хранение матрицы в двух рассмотренных форматах. В данном про-
стейшем примере выигрыш памяти небольшой, но для реальных разрежен-
ных матриц выигрыш, обычно, очень большой.
>> whos A AS
  Name      Size               Bytes   Class     Attributes

                                                                      19