fortran中matmul的用法,给个例子
时间: 2024-03-11 14:47:05 浏览: 34
`matmul` 是 Fortran 中用于矩阵乘法的内置函数,它可以计算两个数组的矩阵乘积。下面是一个 `matmul` 的例子:
```fortran
program matmul_example
implicit none
integer :: i, j
integer, parameter :: n = 3
real :: a(n,n), b(n,n), c(n,n)
! 初始化数组 a 和 b
do i = 1, n
do j = 1, n
a(i,j) = i + j
b(i,j) = i - j
end do
end do
! 计算矩阵乘积 c = a * b
c = matmul(a, b)
! 输出结果
write(*,*) "Matrix A:"
do i = 1, n
write(*,"(3F8.1)") (a(i,j), j = 1, n)
end do
write(*,*)
write(*,*) "Matrix B:"
do i = 1, n
write(*,"(3F8.1)") (b(i,j), j = 1, n)
end do
write(*,*)
write(*,*) "Matrix C = A * B:"
do i = 1, n
write(*,"(3F8.1)") (c(i,j), j = 1, n)
end do
end program matmul_example
```
在这个例子中,我们首先定义了两个 $3\times 3$ 的实数数组 `a` 和 `b`,并对它们进行了初始化。然后,我们使用 `matmul` 函数计算了它们的矩阵乘积,并将结果存储在数组 `c` 中。最后,我们输出了数组 `a`、`b` 和 `c` 的值,以验证计算结果是否正确。