Fortran 3x3 矩阵求逆运算示例程序
以下是使用 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 矩阵的元素,然后程序将计算该矩阵的逆,并输出结果。请注意,此程序假设输入的矩阵是可逆的。如果矩阵不可逆,则会输出一个错误消息并终止程序。
原文地址: https://www.cveoy.top/t/topic/o172 著作权归作者所有。请勿转载和采集!