FORTRAN95 矩阵乘法示例:求两个 3x3 矩阵的乘积
下面是求两个 3x3 阶矩阵的乘积的 FORTRAN95 代码:
program matrix_multiplication
implicit none
integer :: i, j, k
real :: matrix1(3,3), matrix2(3,3), result(3,3)
! 初始化矩阵1
matrix1 = reshape((/1, 2, 3, 4, 5, 6, 7, 8, 9/), shape(matrix1))
! 初始化矩阵2
matrix2 = reshape((/1, 2, 3, 4, 5, 6, 7, 8, 9/), shape(matrix2))
! 计算矩阵乘积
do i = 1, 3
do j = 1, 3
result(i,j) = 0.0
do k = 1, 3
result(i,j) = result(i,j) + matrix1(i,k) * matrix2(k,j)
end do
end do
end do
! 输出结果
write(*, '(A)') '矩阵1:'
do i = 1, 3
write(*, '(3F5.1)') matrix1(i,:)
end do
write(*,*)
write(*, '(A)') '矩阵2:'
do i = 1, 3
write(*, '(3F5.1)') matrix2(i,:)
end do
write(*,*)
write(*, '(A)') '乘积矩阵:'
do i = 1, 3
write(*, '(3F6.1)') result(i,:)
end do
end program matrix_multiplication
这段代码首先定义了三个 3x3 阶的实数矩阵:matrix1,matrix2,和result。然后,通过使用reshape函数初始化了矩阵 1 和矩阵 2。接下来,使用三重循环计算矩阵的乘积,并将结果存储在result矩阵中。最后,通过使用write语句将矩阵 1、矩阵 2 和乘积矩阵输出到屏幕上。
原文地址: https://www.cveoy.top/t/topic/o1VK 著作权归作者所有。请勿转载和采集!