Print this chapterPrint this chapter

Основы работы в VBA. Массивы

4. Операции с двумерными массивами (матрицами)

         Двумерным называется массив, у которого размерность равна 2. Фактически он представляет собой таблицу состоящую из строк и столбцов. Двумерные массивы, у которых значения индексов одинаковые, т.е. число строк равно числу столбцов, называют квадратной матрицей. При работе с квадратными матрицами используются специальные математические понятия, значение которых рассмотрим на примере матрицы размерами 4х4 – B(4,4):

 


 

j = i – элемент находится на главной диагонали (\( b_{11}, b_{22}, b_{33}, b_{44} \));

j = n - i + 1 (n – размерность матрицы) – элемент находится на побочной диагонали  (\( b_{41}, b_{32}, b_{23}, b_{14} \));

i < j – элемент находится над главной диагональю (\( b_{12}, b_{13},b_{14},b_{23}, b_{24}, b_{34}, \));

i > j – элемент находится под главной диагональю (\( b_{21}, b_{31},b_{32},b_{41}, b_{42}, b_{43}, \)).

Транспонированной матрицей В(n, n) называется такая квадратная матрица, у которой столбцы соответствуют строкам исходной квадратной матрицы А(n, n):

 


 

Элементы главной диагонали у матриц А и В одни и те же. Следовательно операция транспонирования матрицы А сводится к перестановке строк матрицы.

 

Dim a() As Single

Dim b() As Single

n = 5

ReDim a(n, n): ReDim b(n, n)

For i = 1 To n

For j = 1 To n

a(i, j) = Cells(i, j)

b(j, i) = a(i, j)             'транспонирование матрицы

Next j

Next i

For i = 1 To n

For j = 1 To n

Cells(n + 1 + i, j) = b(i, j) 'вывод результата

Next j

Next i

 

Результат программы: