hba*_*ega 2 arrays fortran matrix fortran90
假设我有矩阵A并且B都有大小 nxn 。现在我想把A的每一列当作一个列矩阵ColA(i)[i=1,n],把B矩阵的每一行当作一个行矩阵RowB(j)[j=1,n]。
现在我可以使用matmul函数来构造一个新矩阵,称为C其元素是通过将所有可能的 i 和 j 值乘以 ColA 和 RowB 来找到的吗?就像是
do i = 1, n
do j= 1, n
C(i,j) = matmul( ColA(i), RowB(j) )
end do
end do
Run Code Online (Sandbox Code Playgroud)
好吧,对于你的问题,我可以看到三种可能的答案,但我不确定你指的是哪一种......
i的A和行j的B,这将是等于矩阵的矩阵乘法B*A:C = matmul( B,A )
Run Code Online (Sandbox Code Playgroud)
C=colA * rowB^T,但是每个组合i,j都会导致一个单独的矩阵C。C = matmul( A(:,i), B(j,:) )
Run Code Online (Sandbox Code Playgroud)
C_ij = A_ij * B_ij. 这在 Fortran 中非常简单:C = A*B
Run Code Online (Sandbox Code Playgroud)
随你挑!