logo search
Фундаментальная и компьютерная алгебра

Компьютерная реализация матричной алгебры

Как отмечено выше, сами матрицы реализуются как двумерные массивы. Операции над матрицами в VBA реализуются так (см. файл Матричная алгебра.xlsm)

Sub primer1()' Умножение и обращение матриц Const n = 4 'размер матриц Dim MatA(1 To n, 1 To n) As Single ‘Тип вещественного числа Dim MatB(1 To n, 1 To n) As Single Dim MatC(1 To n, 1 To n) As Single

For i = 1 To n For j = 1 To n MatA(i, j) = Cells(i, j + 1): MatB(i, j) = Cells(i + 9, j + 1) Next j Next i

For i = 1 To n For j = 1 To n MatC(i, j) = Application.MMult(MatA, MatB)(i, j) ’Функция MMult встроена именно в Excel, но не в VBA. ‘ Индексация у рез-та этой функции начинается с 1 Next Next

'Распечатка For i = 1 To n For j = 1 To n Cells(i + 9, j + 10) = Application.MInverse(MatB)(i, j) Next j Next i For i = 1 To n For j = 1 To n Cells(i, j + 10) = MatC(i, j) Next j Next i Cells(19, 11) = Application.MDeterm(MatB)

End Sub