VBA 行列の積(関数)
Function M_Product(arr1() As Double, arr2() As Double) As Double()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim n_1 As Integer
Dim m_1 As Integer
Dim n_2 As Integer
Dim m_2 As Integer
Dim kadai_14() As Double
n_1 = UBound(arr1, 2)
m_1 = UBound(arr1, 1)
n_2 = UBound(arr2, 2)
m_2 = UBound(arr2, 1)
ReDim kadai_14(m_1, n_2)
For i = 1 To m_1
For j = 1 To n_2
For k = 1 To n_1
kadai_14(i, j) = kadai_14(i, j) + arr1(i, k) * arr2(k, j) 'arr1の行を固定、arr2の列を固定し、内積を計算
Next k
Next j
Next i
M_Product = kadai_14
End Function