ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Dim a() As Integer, b() As Single, c() As Single. Dim n As Integer, m As Integer, h As IntegerDim n As Integer, m As Integer, h As Integer Dim i As Integer, j As Integer, i2 As Integer Dim sum As Single n = Cells (1, 4) m = Cells (2, 4) h = Cells (3, 4) ReDim a(n, m): ReDim b(m, h): ReDim c(n, h) 'очистка рабочего листа от посторонних надписей For i = 1 To 10 * n For j = 1 To 10 * m Cells (i + 3, j) = "" Next j Next i 'заполнение матриц А случайными целыми числами 'вывод матрицs в рабочий лист Excel Cells (5, 1) = "Матрица А:" For i = 1 To n For j = 1 To m a(i, j) = 50 - Int (Rnd () * 100) Cells (i + 5, j) = a(i, j) Next j Next i 'заполнение матриц B случайными числами 'вывод матрицs в рабочий лист Excel Cells (5, m + 2) = "Матрица B:" For i = 1 To m For j = 1 To h b(i, j) = 50 - Int (Rnd () * 1000) / 10 Cells (i + 5, j + m + 2) = b(i, j) Next j Next i 'умножение матриц А и В For i = 1 To n 'номера строк матрицы A For i2 = 1 To h 'номера столбцов матрицы B sum = 0 For j = 1 To m 'элементы строки A sum = sum + a(i, j) * b(j, i2) Next j c(i, i2) = sum 'формируем матрицу C Next i2 Next i Cells (n + 5 + 2, 1) = "Матрица C:" For i = 1 To n For j = 1 To h Cells (i + n + 5 + 2, j) = c(i, j) Next j Next i End Sub
Результат выполнения программы:
Пример 16. Умножить матрицу A (n, m) на вектор V (m).
Согласно правилам математики, матрицу можно умножить на вектор только в том случае, если вектор имеет количество элементов, равное количеству столбцов матрицы. Результатом умножения матрицы на вектор является новый вектор, который содержит столько элементов, сколько было строк в матрице. Умножение массивов происходит во внутреннем цикле. В нем подсчитывается сумма произведений каждого элемента i -й строки матрицы со всеми элементами вектора. Затем сумма присваивается i -му элементу результирующего вектора С. Перед расчетом очередной строки переменная sum должна быть обнулена во избежание накопления суммы нескольких строк.
Sub primer_16() Не нашли, что искали? Воспользуйтесь поиском:
|