Perkalian matrik dan vektor

3.2. FUNCTION 31 A = array[[3.,8.,5.],\ [6.,4.,7.]] x = array[[2.],\ [3.],\ [4.]] E = matxvekA,x print E [[ 50.] [ 52.]] Berhasil Function matxvek bekerja sempurna. Sebelum dilanjut, ada sedikit modifikasi yang diperlukan pada function matxvek yang ter- simpan pada file komputasi.py, yaitu yang menyangkut inisialisasi nilai n dan m. Perhatikan perubahannya berikut ini saya harap anda mengerti tanpa harus saya jelaskan. 1 from numpy import zeros, transpose 2 3 def matxvek A,x: 4 n=lenA cara lain untuk menghitung jumlah baris matrik A 5 m=lentransposeA cara lain untuk menghitung jumlah kolom matrik A dan baris vektor x 6 E = zerosn,1 7 for i in range0,n: 8 for k in range0,m: 9 E[i,0]=E[i,0]+A[i,k]x[k,0] 10 return E Simpanlah file ini, lalu di-run kembali. Ulangi lagi ketikan code berikut pada python-shell from numpy import array A = array[[3.,8.,5.],\ [6.,4.,7.]] x = array[[2.],\ [3.],\ [4.]] E = matxvekA,x print E [[ 50.] [ 52.]] Modifikasi pada function matxvek bertujuan agar function matxvek bisa berlaku pada matrik A yang ukurannya bukan 2 × 3 saja. Contohnya A = array[[3.,8.,5.],\ [6.,4.,7.],\ [2.,1.,9.]] x = array[[2.],\ [3.],\ 32 BAB 3. FUNCTION DAN MODULE [4.]] E = matxvekA,x print E [[ 50.] [ 52.] [ 43.]] Jelas terlihat disini bahwa function matxvek bisa digunakan untuk ukuran matrik A yang bervari- asi.

3.3 Module

Sebelum mendiskusikan module, silakan buka lagi file fungsi.py yang menyimpan function for- mula yang lalu 1 def formula a,b,c: 2 y = aa+2b+c 3 return y Function formula akan saya letakkan di dalam komputasi.py 1 from numpy import zeros, transpose 2 3 def matxvek A,x: 4 n=lenA 5 m=lentransposeA 6 E = zerosn,1 7 for i in range0,n: 8 for k in range0,m: 9 E[i,0]=E[i,0]+A[i,k]x[k,0] 10 return E 11 12 def formula a,b,c: 13 y = aa+2b+c 14 x = abc 15 return y,x Kemudian function rumusabc juga digabung ke dalam komputasi.py. Perhatikan perubahan yang terjadi di source-code, khususnya pada statemen awal 1 from __future__ import division 2 from numpy import zeros, transpose, sqrt,complex 3 4 def matxvek A,x: 5 n=lenA 6 m=lentransposeA 7 E = zerosn,1 8 for i in range0,n: 9 for k in range0,m: 10 E[i,0]=E[i,0]+A[i,k]x[k,0] 11 return E 12 3.3. MODULE 33 13 def formula a,b,c: 14 y = aa+2b+c 15 x = abc 16 return y,x 17 18 def rumusabc a,b,c: 19 D = bb-4ac 20 if D 0.0: 21 x1 = -b+sqrtD2a 22 x2 = -b-sqrtD2a 23 elif D == 0.0: 24 x1 = -b2a 25 x2 = -b2a 26 else: 27 D = -D 28 x1r = -b2a 29 x1i = sqrtD2a 30 x1 = complexx1r,x1i 31 x2r = x1r 32 x2i = -x1i 33 x2 = complexx2r,x2i 34 return x1,x2 jangan lupa di-save dan di-run. Kemudian buatlah sebuah file cobamodul.py yang isinya sebagai berikut 1 from numpy import array 2 from komputasi import matxvek 3 4 A = array[[3.,8.,5.],\ 5 [2.,1.,9.],\ 6 [6.,4.,7.]] matrik A berukuran 3x3 7 x = array[[2.],\ 8 [3.],\ 9 [4.]] vektor x berukuran 3x1 10 hasil = matxvekA,x 11 print hasil silakan anda save dan run. Inilah hasilnya [[ 50.] [ 43.] [ 52.]] Sampai disini anda telah berhasil membuat module pribadi, yaitu module komputasi. Sekarang saatnya membahas module. Module berisi kumpulan function. Kita baru saja membuat module yang diberi nama komputasi, dimana didalamnya terdapat 3 buah function yaitu matxvek, for-