使用FORTRAN95求两个33阶矩阵的乘积
下面是求两个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/hy9T 著作权归作者所有。请勿转载和采集!