Minggu, 14 April 2019

INVERS MATRIKS

Cara menghitung invers matriks berordo 3x3 ada dua cara, yaitu dengan metode Adjoint, dan metode OBE (Operasi Baris Elementer). Pada saat ini saya akan menghitung invers menggunakan metode Adjoint dengan bahasa pemrograman Python3, berikut source code-nya :

_____________________________________________________________________


print("Invers Matriks")
print ("")

a11=int(input("a11 = "))
a12=int(input("a12 = "))
a13=int(input("a13 = "))
a21=int(input("a21 = "))
a22=int(input("a22 = "))
a23=int(input("a23 = "))
a31=int(input("a31 = "))
a32=int(input("a32 = "))
a33=int(input("a33 = "))

print("")
print("Matriks")
print("|`",a11," ",a12," ",a13,"`|")
print("| ",a21," ",a22," ",a23," |")
print("|_",a31," ",a32," ",a33,"_|\n")

print("")
print ("Determinan")
detA=(a11*a22*a33)+(a12*a23*a31)+(a13*a21*a32)-(a31*a22*a13)-(a32*a23*a11)-(a33*a21*a12)

print("DetA = (a11*a12*a33)+(a12*a23*a31)+(a13*a21*a32)-(a31*a22*a13)-(a32*a23*a11)-(a33*a21*a12)")
print("DetA = ", detA)

print("")
print ("Cofaktor")
A11=(a22*a33)-(a32*a23)
A12=(a21*a33)-(a31*a23)
A13=(a21*a32)-(a31*a22)
A21=(a12*a33)-(a32*a13)
A22=(a11*a33)-(a31*a13)
A23=(a11*a32)-(a31*a12)
A31=(a12*a23)-(a22*a13)
A32=(a11*a23)-(a21*a13)
A33=(a11*a22)-(a21*a12)

print("A11 = (+)| ",a22,"",a23," |=",A11," A12 = (-)| ",a21,"",a23," |=",A12*(-1)," A13 = (+)| ",a21,"",a22," |=",A13)
print("         | ",a32,"",a33," |              | ",a31,"",a33," |              | ",a31,"",a32," |")

print("\nA21 = (-)| ",a12,"",a13," |=",A21*(-1)," A22 = (+)| ",a11,"",a13," |=",A22," A23 = (-)| ",a11,"",a12," |=",A23*(-1))
print("         | ",a32,"",a33," |              | ",a31,"",a33," |              | ",a31,"",a32," |")

print("\nA31 = (+)| ",a12,"",a13," |=",A31," A32 = (-)| ",a11,"",a13," |=",A32*(-1)," A33 = (+)| ",a11,"",a12," |=",A33)
print("         | ",a22,"",a23," |               | ",a21,"",a23," |              | ",a21,"",a22," |")


print("")
print("\nA = | ",A11*(1),"",A12*(-1),"",A13*(1)," |")
print("      | ",A21*(-1),"",A22*(1),"",A23*(-1)," |")
print("      | ",A31*(1),"",A32*(-1),"",A33*(1)," |")

print("")
print ("Adjoint")
print("adj (A) = | ",A11*(1),'',A21*(-1),'',A31*(1),' |')
print('             | ',A12*(-1),'',A22*(1),'',A32*(-1),' |')
print('             | ',A13*(1),'',A23*(-1),'',A33*(1),' |')


print("")
print ("Invers")
invers_a11=(1/detA*(A11*(1)))
invers_a12=(1/detA*(A12*(-1)))
invers_a13=(1/detA*(A13*(1)))
invers_a21=(1/detA*(A21*(-1)))
invers_a22=(1/detA*(A22*(1)))
invers_a23=(1/detA*(A23*(-1)))
invers_a31=(1/detA*(A31*(1)))
invers_a32=(1/detA*(A32*(-1)))
invers_a33=(1/detA*(A33*(1)))

print("A-1 = 1/Det A x Adj A")
print('    = 1/',detA,"| ",A11*(1),'',A21*(-1),'',A31*(1)," |")
print('            | ',A12*(-1),'',A22*(1),'',A32*(-1),' |')
print('            | ',A13*(1),'',A23*(-1),'',A33*(1),' |')

print('\n    = | ',invers_a11,'',invers_a21,'',invers_a31,' |')
print('      | ',invers_a12,'',invers_a22,'',invers_a32,' |')
print('      | ',invers_a13,'',invers_a23,'',invers_a33,' |')

___________________________________________________________________







_________________________________________________________________

Demikian cara menghitung invers matriks berordo 3x3 dengan metode Adjoint menggunkan bahasa pemrograman Python3. Terima kasih dan semoga bermanfaat.

Tidak ada komentar:

Posting Komentar