矩阵公式
矩阵A:a*b阶
矩阵B: b*c阶
for i=1 to a
for j=1 to c
for k=1 to b
sum(i,j)=sum(i,j)+A(i,k)*B(k,j)
next
next
next
矩阵相乘须遵守一定规则,如果矩阵A乘以B得到C,则必须满足:
1、矩阵A的列数与矩阵B的行数相等;
2、矩阵A的行数等于矩阵C的行数;
3、矩阵B的列数等于矩阵C的列数。
下面程序中是3行2列的a矩阵乘以2行3列的b矩阵得到3行3列的c矩阵。
Option Explicit
Dim a(3, 2) As Integer
Dim b(2, 3) As Integer
Dim c(3, 3) As Integer
Private Sub Form_Load()
a(1, 1) = 5: a(1, 2) = 7
a(2, 1) = 8: a(2, 2) = 3
a(3, 1) = 7: a(3, 2) = 4
b(1, 1) = 12: b(1, 2) = 3: b(1, 3) = 6
b(2, 1) = 4: b(2, 2) = 2: b(2, 3) = 7
Dim i As Integer, j As Integer, n As Integer
For i = 1 To 3
For j = 1 To 3
For n = 1 To 2
c(i, j) = c(i, j) + a(i, n) * b(n, j)
Next n
Next j
Next i
Form1.AutoRedraw = True
For i = 1 To 3
For j = 1 To 3
If j Mod 3 <> 0 Then
Print c(i, j);
Else
Print c(i, j)
End If
Next j
Next i
End Sub