Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Dim a() As Integer, b() As Single, c() As Single. Dim n As Integer, m As Integer, h As Integer




Dim 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()






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных