Senin, 23 Mei 2016

Metode perkalian matrik dengan vektor

Assalamualaikum wr. wb

Pagi ini kami mendapat materi mengenai array 2 dimensi .
Dan tugas yaitu menerapkan yang telah dijelaskan oleh beliau dengan pengaplikasian perkalian matrik dengan vektor.

1. Permasalahan

 Diketahui bahwa A merupakan matrik dan B merupakan vektor.

2. Analisis
 - pertama cek terlebih dahulu apakah baris atau kolom jumlahnya sama dengan matrik yang ingin dikalikan,, seperti masalah yang diatas bahwa kolom matrik A sama dengan baris vektor B. Setelah itu baru dikalikan antara matrik dan vektor,, dari permasalahan di atas bahwa perkalian matrik dengan vektor hanya mungkin jika banyaknya kolom matrik sama dengan dimensi vektor, dan hasilnya adalah sebuah vektor berdimensi sama dengan jumlah baris vektor. Mari kita uji coba dari permasalahan di atas dan mencari hasil perkaliannya.

3. Penyelesaian
- Mengalikan kolom matrik dengan baris vektor
- Misal hasil perkalian di lambangkan dengan huruf C
- C1 = (2X3) + (3X2) + (2X1)  = 14
- C2 = (4X3) + (1X2) + (5X1)  = 19
- Jadi di dapatkan bahwa hasil perkalian matrik A dengan vektor B adalah :
4. Dalam bentuk perulangan dalam cpp dapat di analisa seperti di bawah ini :
=> for(i=1;i<=2;i++)
=> for(j=1;j<=3;j++)
=> C[i,j]=0 
=> for(k=1;k<=3;k++)
=>C[i,j]+ = A[i,k]*B[k,j]

5. Dalam bentuk flowchart

 6. Dalam bentuk cpp
#include <iostream>
using namespace std;
void kali(int matrik[2][3],int vektor[3],int hasil[2]){
    for(int i=0;i<2;i++){
        for(int k=0;k<3;k++)
            hasil[i]=hasil[i]+(matrik[i][k]*vektor[k]);
    }
}
void cetakmat(int hasil[][3]){
    for(int i=0;i<2;i++){
        for(int j=0;j<3;j++)
            cout<<hasil[i][j]<<" ";
            cout<<endl;
    }
}
void cetakvek(int vektor[]){
    for(int i=0;i<3;i++){
        cout<<vektor[i]<<endl;
    }
}
void cetak(int hasil[]){
    for(int i=0;i<2;i++){
        cout<<hasil[i]<<endl;
    }
}
int main(int argc, char** argv) {
    int matrik[2][3]={2,3,2,4,1,5}, vektor[3]={3,2,1},hasil[2]={0};
    kali(matrik,vektor,hasil);
    cout<<"matrik A\n";
    cetakmat(matrik);
    cout<<"vektor B\n";
    cetakvek(vektor);
    cout<<"hasil kali\n";
    cetak(hasil);
    return 0;
}

Output :




Poto Tugas :





Wassalamualaikum wr.wb 


















0 komentar

Posting Komentar