下面是求两个 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 阶的实数矩阵:matrix1matrix2,和result。然后,通过使用reshape函数初始化了矩阵 1 和矩阵 2。接下来,使用三重循环计算矩阵的乘积,并将结果存储在result矩阵中。最后,通过使用write语句将矩阵 1、矩阵 2 和乘积矩阵输出到屏幕上。


原文地址: https://www.cveoy.top/t/topic/o1VK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录