Fortran矩阵的乘法代码
时间: 2024-12-18 19:01:05 浏览: 26
Fortran是一种主要用于数值计算的语言,虽然其语法与现代语言相比有些过时,但在科学计算领域仍有一定的影响力。矩阵乘法在Fortran中通常通过循环结构来实现,特别是对于单精度(real*4)或双精度(real*8)矩阵。下面是一个简单的二维数组表示矩阵并进行矩阵乘法的示例:
```fortran
pure function matrix_multiply(matrix_a, matrix_b)
implicit none
real, intent(in), dimension(:, :) :: matrix_a, matrix_b
real, intent(out), dimension(:, :) :: matrix_multiply
integer :: i, j, k
matrix_multiply = 0.0 ! 初始化结果矩阵
do i = 1, size(matrix_a, 1) ! 遍历第一个矩阵的第一行
do j = 1, size(matrix_b, 2) ! 遍历第二个矩阵的第一列
do k = 1, size(matrix_a, 2) ! 遍历第一个矩阵的第二列 (对应于第二个矩阵的第一列元素)
matrix_multiply(i, j) = matrix_multiply(i, j) + matrix_a(i, k) * matrix_b(k, j)
end do
end do
end do
end function matrix_multiply
```
在这个例子中,`matrix_multiply`函数接受两个矩阵作为输入,分别对它们的对应位置元素相乘,并累加到结果矩阵的相应位置。
阅读全文