Perkalian matriks

advertisement
Perkalian matriks
Perkalian vektor
v=
v[0]
v[1]
v[2]
…
…
v[n-1]
u=
u[0]
u[1]
u[2]
…
…
u[n-1]
• Perkalian vektor vektor = skalar (yg akan dibahas)
w = uT v , dengan u,v vektor dan menghasilkan w skalar
• Perkalian vektor vektor = matriks:
W = u vT , W adalah matriks n X n
Perkalian vektor vektor = skalar
• Bentuk vektor:
w = uTv
=
u[0] u[1] … u[n-1]
• Rumus :
n-1
w = Σ u[ i ] v[ i ]
k=0
v[0]
v[1]
v[2]
…
…
v[n-1]
Implementasi dalam program
• Implementasi perkalian vektor vektor =
skalar
• Cuplikan program :
...
w=0;//inisialisasi hasil kali
for(i=0;i<n;i++){
w=w+u[i]v[i];//proses perkalian vektor
}
...
Perkalian matriks
Contoh : perkalian matriks 3x3
C
=
A
c[0][0] c[0][1] c[0][2]
c[1][0] c[1][1] c[1][2]
c[2][0] c[2][1] c[2][2]
=
B
a[0][0] a[0][1] a[0][2]
b[0][0] b[0][1] b[0][2]
a[1][0] a[1][1] a[1][2]
b[1][0] b[1][1] b[1][2]
a[2][0] a[2][1] a[2][2]
b[2][0] b[2][1] b[2][2]
Penentuan nilai elemen matriks C
•
•
•
•
•
•
•
c[0][0] = a[0][0] b[0][0] + a[0][1] b[1][0] + a[0][2] b[2][0]
c[0][1] = a[0][0] b[0][1] + a[0][1] b[1][1] + a[0][2] b[2][1]
c[0][2] = a[0][0] b[0][2] + a[0][1] b[1][2] + a[0][2] b[2][2]
c[1][0] = a[1][0] b[0][0] + a[1][1] b[1][0] + a[1][2] b[2][0]
….
c[2][2] = a[2][0] b[0][2] + a[2][1] b[1][2] + a[2][2] b[2][2]
Dalam format umum, elemen matriks C (baris ke-i dan
kolom ke-j) ditentukan dengan rumus sbb:
n-1
c[ i ][ j ] = Σ a[ i ][ k ] b[ k ][ j ]
k=0
Dengan n = jumlah kolom matriks A = jumlah baris matriks B
Implementasi perkalian matriks
dalam program
• Rumus perkalian matriks
n-1
c[ i ][ j ] = Σ a[ i ][ k ] b[ k ][ j ]
k=0
dilakukan sebanyak jumlah baris A X
jumlah kolom B
Implementasi dalam bahasa C
• Cuplikan program untuk menghitung perkalian
matriks 3x3:
m=3; // jumlah baris matriks A
n=3; // jumlah kolom matriks B
kol_bar=3; //jml kolom matriks A=jml baris matriks B
for(i=0;i<m;i++){
for(j=0;j<n;j++){
c[i][j]=0; //inisialisasi elemen[i][j] matriks C
for(k=0;k<kol_bar;k++){
c[i][j]=c[i][j]+a[i][k]*b[k][i];
//realisasi rumus perkalian matriks
}
}
}
Download