Invers Matriks. 6.12.2012. T. komputer
Setelah determinan dihitung, berikutnya kita coba membuat kode mencari invers matriks tersebut. Perhatikan algoritma pembuatan invers dari pertemuan yang lalu. Lihat kode program di bawah ini.
- #include<stdio.h>
- #include<iostream.h>
- void main(){
- double A[2][2]={1,2,3,4};
- int i,j;
- double det;
-
cout<<“Matriks A = “<<“\n”;
- for(i=0;i<2;i++)
-
{
- for(j=0;j<2;j++)
-
{
- cout<<A[i][j]<<” “;
- }
- cout<<“\n”;
- }
- cout<<“\n”;
- det=A[0][0]*A[1][1]-A[1][0]*A[0][1];
- cout<<“determinan A = “;
- cout<<det;
- cout<<“\n”;
- double A2[2][2];
- A2[1][1]=A[0][0];
- A2[0][0]=A[1][1];
- A2[0][1]=A[0][1]*-1;
- A2[1][0]=A[1][0]*-1;
-
cout<<“Invers A = “<<“\n”;
- for(i=0;i<2;i++)
-
{
- for(j=0;j<2;j++)
-
{
- cout<<A2[i][j]/det<<” “;
- }
- cout<<“\n”;
- }
- }
Jalankan hingga dihasilkan tampilan sebagai berikut:
Untuk matriks 3×3, dengan cara manual dapat dibuat dengan kode berikut ini. Dikatakan manual karena seharusnya kita menggunakan kode yang dapat diterapkan untuk matriks nxn.
- #include<stdio.h>
- #include<iostream.h>
- void main(){
- double A[3][3]={1,2,3,4,5,6,7,8,100};
- int i,j;
- double det;
- double a,b,c;
-
cout<<“Matriks A = “<<“\n”;
- for(i=0;i<3;i++)
-
{
- for(j=0;j<3;j++)
-
{
- cout<<A[i][j]<<” “;
- }
- cout<<“\n”;
- }
- cout<<“\n”;
- //menghitung determinan
- a=A[0][0];
- b=A[0][1];
- c=A[0][2];
- double C1,C2,C3;
- C1=A[1][1]*A[2][2]-A[1][2]*A[2][1];
- C2=(A[1][0]*A[2][2]-A[2][0]*A[1][2])*-1;
- C3=A[1][0]*A[2][1]-A[2][0]*A[1][1];
- cout<<“C1=”<<” “<<C1<<“\n”;
- cout<<“C2=”<<” “<<C2<<“\n”;
- cout<<“C3=”<<” “<<C3<<“\n”;
- det=a*C1+b*C2+c*C3;
- cout<<“Determinan A = “<<” “;
- cout<<det;
- }
Jika dijalankan menghasilkan keluaran:
Uji dengan Matlab apakah jawabannya sesuai: