fortran中matmul的用法,用4*1和4*2矩阵相乘说明
时间: 2024-03-11 14:47:13 浏览: 218
好的,下面是一个例子,演示如何使用 `matmul` 函数计算一个 $4\times 1$ 的矩阵和一个 $4\times 2$ 的矩阵的乘积:
```fortran
program matmul_example
implicit none
integer :: i, j
integer, parameter :: n = 4, m = 2
real :: a(n), b(n,m), c(m)
! 初始化数组 a 和 b
a = [1, 2, 3, 4]
b = reshape([5, 6, 7, 8, 9, 10, 11, 12], [4, 2])
! 计算矩阵乘积 c = a * b
c = matmul(a, b)
! 输出结果
write(*,*) "Matrix A:"
write(*,"(4F8.1)") a
write(*,*)
write(*,*) "Matrix B:"
do i = 1, n
write(*,"(2F8.1)") (b(i,j), j = 1, m)
end do
write(*,*)
write(*,*) "Matrix C = A * B:"
write(*,"(2F8.1)") c
end program matmul_example
```
在这个例子中,我们定义了一个 $4\times 1$ 的实数数组 `a` 和一个 $4\times 2$ 的实数数组 `b`,并对它们进行了初始化。然后,我们使用 `matmul` 函数计算了它们的矩阵乘积,并将结果存储在数组 `c` 中。最后,我们输出了数组 `a`、`b` 和 `c` 的值,以验证计算结果是否正确。
运行这个程序,输出应该如下:
```
Matrix A:
1.0 2.0 3.0 4.0
Matrix B:
5.0 9.0
6.0 10.0
7.0 11.0
8.0 12.0
Matrix C = A * B:
70.0 100.0
```
可以看到,矩阵乘积的计算结果是正确的。
阅读全文