Professional Documents
Culture Documents
Μαθηματικό μοντέλο μελέτης σε PC: Αντίστροφος πίνακας
Μαθηματικό μοντέλο μελέτης σε PC: Αντίστροφος πίνακας
Εργαστηριακή Αναφορά
Αντίστροφος πίνακας A −1 (m × n )
Ηλεκτρονικοί Υπολογιστές ΙΙ 1
Πανεπιστήμιο Κρήτης – Τμήμα Φυσικής
Πρόβλημα:
2 − 1 1
A = 1 3 2
− 1 − 1 1
Ηλεκτρονικοί Υπολογιστές ΙΙ 2
Πανεπιστήμιο Κρήτης – Τμήμα Φυσικής
Κώδικας Fortran
c234567
program ergastiriaki_anafora_6
implicit none
real A(3,3),B(3,3),C(3,3),WORK(3)
integer i,j,k,M,N,LDA,IPIV(3),INFO,LWORK
call expdata(A)
print*, ""
print*, "Eisagate ton eksis pinaka A(3x3) dedomenon:"
do i=1,3
print*, ""
write (*,1) A(i,1), A(i,2), A(i,3)
1 format (4x,F4.1,4X,F4.1,4X,F3.1)
enddo
do i=1,3
do j=1,3
B(i,j)=A(i,j)
enddo
enddo
M=3
N=3
LWORK=N
LDA=N
call SGETRF(M,N,A,LDA,IPIV,INFO)
call SGETRI(N,A,LDA,IPIV,WORK,LWORK,INFO)
print*, ""
print*, ""
print*, "Me vasi ton pinaka A(3x3) pou eisagate, o antistrofos tou
& A(3x3), A^-1(3x3), einai:"
do i=1,3
print*, ""
write (*,2) A(i,1), A(i,2), A(i,3)
2 format (3x,F6.3,3x,F6.3,3x,F6.3)
enddo
print*, ""
print*, ""
call ginomeno (A,B,C)
print*, "To ginomeno A(3x3)*A^-1(3*3), einai iso me:"
do i=1,3
print*, ""
write(*,3) C(i,1),C(i,2),C(i,3)
3 format (3X,F5.2,3X,F5.2,3X,F5.2)
enddo
print*, ""
end
Ηλεκτρονικοί Υπολογιστές ΙΙ 3
Πανεπιστήμιο Κρήτης – Τμήμα Φυσικής
subroutine expdata(A)
implicit none
real A(3,3)
integer i
open (unit=4,file="expdata.out")
do i=1,3
read(4,5) A(i,1),A(i,2),A(i,3)
5 format (4x,F4.1,4x,F4.1,4x,F3.1)
enddo
end
subroutine ginomeno(A,B,C)
implicit none
real A(3,3),B(3,3),C(3,3)
integer i,j,k
do i=1,3
do j=1,3
C(i,j)=0
do k=1,3
C(i,j)=C(i,j)+A(i,k)*B(k,j)
enddo
enddo
enddo
end
Ερώτημα i
Ηλεκτρονικοί Υπολογιστές ΙΙ 4