以下是使用 Fortran 编写的计算 3x3 矩阵逆的示例程序:

program matrix_inverse
    implicit none
    
    real :: matrix(3,3), inverse(3,3)
    real :: determinant
    
    ! 输入矩阵元素
    print *, '请输入 3x3 矩阵的元素:'
    read *, matrix
    
    ! 计算矩阵的行列式
    determinant = matrix(1,1) * (matrix(2,2) * matrix(3,3) - matrix(2,3) * matrix(3,2)) &
                - matrix(1,2) * (matrix(2,1) * matrix(3,3) - matrix(2,3) * matrix(3,1)) &
                + matrix(1,3) * (matrix(2,1) * matrix(3,2) - matrix(2,2) * matrix(3,1))
    
    ! 判断矩阵是否可逆
    if (determinant == 0) then
        print *, '该矩阵不可逆!'
        stop
    end if
    
    ! 计算矩阵的逆
    inverse(1,1) = (matrix(2,2) * matrix(3,3) - matrix(2,3) * matrix(3,2)) / determinant
    inverse(1,2) = -(matrix(1,2) * matrix(3,3) - matrix(1,3) * matrix(3,2)) / determinant
    inverse(1,3) = (matrix(1,2) * matrix(2,3) - matrix(1,3) * matrix(2,2)) / determinant
    inverse(2,1) = -(matrix(2,1) * matrix(3,3) - matrix(2,3) * matrix(3,1)) / determinant
    inverse(2,2) = (matrix(1,1) * matrix(3,3) - matrix(1,3) * matrix(3,1)) / determinant
    inverse(2,3) = -(matrix(1,1) * matrix(2,3) - matrix(1,3) * matrix(2,1)) / determinant
    inverse(3,1) = (matrix(2,1) * matrix(3,2) - matrix(2,2) * matrix(3,1)) / determinant
    inverse(3,2) = -(matrix(1,1) * matrix(3,2) - matrix(1,2) * matrix(3,1)) / determinant
    inverse(3,3) = (matrix(1,1) * matrix(2,2) - matrix(1,2) * matrix(2,1)) / determinant
    
    ! 输出结果
    print *, '逆矩阵为:'
    print *, inverse
    
end program matrix_inverse

你可以输入 3x3 矩阵的元素,然后程序将计算该矩阵的逆,并输出结果。请注意,此程序假设输入的矩阵是可逆的。如果矩阵不可逆,则会输出一个错误消息并终止程序。

Fortran 3x3 矩阵求逆运算示例程序

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

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