fortran 中的matmul
时间: 2024-01-16 15:04:42 浏览: 334
duoxiangshi_fortran二乘法多项式拟合_
在Fortran中,`matmul`是一个用于矩阵乘法的内置函数。它可以将两个矩阵相乘,并返回结果矩阵。`matmul`函数的语法如下:
```fortran
result = matmul(matrix1, matrix2)
```
其中,`matrix1`和`matrix2`是两个具有相容尺寸的矩阵,`result`是它们相乘的结果。
值得注意的是,`matmul`函数要求输入的矩阵必须是二维的,并且尺寸必须满足乘法运算的规则。例如,对于一个m×n的矩阵和一个n×p的矩阵,它们可以相乘得到一个m×p的矩阵。
以下是一个示例代码,展示了如何使用`matmul`函数进行矩阵乘法:
```fortran
program matrix_multiplication
implicit none
integer, parameter :: m = 3
integer, parameter :: n = 2
integer, parameter :: p = 4
real :: matrix1(m, n)
real :: matrix2(n, p)
real :: result(m, p)
! 初始化矩阵
matrix1 = reshape([1, 2, 3, 4, 5, 6], [m, n])
matrix2 = reshape([2, 0, 1, 3, 1, 2, 0, 1], [n, p])
! 执行矩阵乘法
result = matmul(matrix1, matrix2)
! 打印结果矩阵
write(*, *) "Result:"
do i = 1, m
write(*, *) result(i, :)
end do
end program matrix_multiplication
```
这个示例程序中,我们定义了两个矩阵`matrix1`和`matrix2`,然后使用`matmul`函数将它们相乘,并将结果存储在`result`中。最后,我们使用循环打印出结果矩阵。
阅读全文