使用Fortran求两个33阶矩阵的乘积并且分别求其逆运算
以下是使用Fortran语言计算两个3*3阶矩阵乘积和逆运算的示例代码:
program matrix_operations
implicit none
integer, parameter :: n = 3
real :: matrix1(n,n), matrix2(n,n), product(n,n), inverse(n,n)
integer :: i, j, k
! 输入矩阵1
print *, "输入矩阵1:"
do i = 1, n
read *, matrix1(i,:)
end do
! 输入矩阵2
print *, "输入矩阵2:"
do i = 1, n
read *, matrix2(i,:)
end do
! 计算矩阵乘积
do i = 1, n
do j = 1, n
product(i,j) = 0.0
do k = 1, n
product(i,j) = product(i,j) + matrix1(i,k) * matrix2(k,j)
end do
end do
end do
! 输出矩阵乘积
print *, "矩阵乘积:"
do i = 1, n
print *, product(i,:)
end do
! 计算矩阵的逆
inverse = matmul(matrix1, matrix2)
! 输出矩阵的逆
print *, "矩阵的逆:"
do i = 1, n
print *, inverse(i,:)
end do
end program matrix_operations
在这段代码中,我们使用了一个product数组来存储两个矩阵的乘积结果,并使用matmul函数来计算矩阵乘积。使用matmul函数计算矩阵乘积时,矩阵1必须是n×n阶的,而矩阵2必须是n×n阶的。我们还使用一个inverse数组来存储矩阵的逆结果,使用matmul函数计算矩阵的逆时,矩阵1必须是n×n阶的,矩阵2必须是n×n阶的
原文地址: https://www.cveoy.top/t/topic/hzkz 著作权归作者所有。请勿转载和采集!