Menyelesaikan Persamaan Linear Menggunakan Numpy di Python
Daftar Isi | |
---|---|
1. | Penyelesaian Persamaan Linear Secara Manual |
2. | Penyelesaian Persamaan Linear Menggunakan numpy.linalg.solve |
3. | Input Untuk numpy.linalg.solve |
4. | Proses numpy.linalg.solve |
Ketika sekolah dulu, kita pernah belajar tentang soal seperti ini. Udin membeli 3 jambu, 2 apel, dan 2 pepaya seharga 13000, Anto membeli 1 jambu, 3 apel, dan 1 pepaya seharga 10000, Santo membeli 2 jambu, 2 apel, dan 3 pepaya seharga 13000, berapakah harga masing-masing buah tersebut?.
Soal seperti diatas, dulu kita kenal sebagai persamaan dengan 3 variabel. Kemduian kita disuruh mencari nilai dari masing-masing variabel. Problem ini adalah contoh sederhana dari penyelesaian persamaan linear. Faktanya, banyak sekali persamaan linear yang jauh lebih kompleks, di Data Science contohnya, ada regresi linear atau least square.
Penyelesaian Persamaan Linear Secara Manual
Pada umumnya, persamaan linear seperti di atas dapat diselesaikan menggunakan metode eliminasi beberapa tingkat. Pertama, ditulis dulu persamaannya dengan mengubah variabel, misal jambu=x, apel=y, dan pepaya=z. Kemudian dituliskan seperti ini:
$ 3x + 2y + 2z = 13000 $
$ x + 3y + 2z = 10000 $
$ 2x + 2y + 3z = 13000 $
Setelah dicari menggunakan metode eliminasi beberapa kali, didapatkan nilai x=1000, y=2000, z=3000. Kalau jumlah variabelnya masih sedikit dan tetap, akan mudah dikerjakan secara manual, tapi bagaimana jika jumlah variabelnya sangat banyak?. Modul Numpy menyediakan method untuk menyelesaikan persmaan linear secara instan.
Penyelesaian Persamaan Linear Menggunakan numpy.linalg.solve
Numpy memiliki sebuah method yang disebut sebagai solve. Metode ini digunakan untuk menyelesaikan persamaan linear secara instan. Outputnya adalah sebuah array yang berisi variabel sejumlah variabel sesuai dengan jumlah variabel dalam persamaan linear.
Input untuk numpy.linalg.solve
numpy.linalg.solve membutuhkan 2 buah matriks sebagai inputnya. Tentu saja, matriks tersebut harus dalam format ndarray. Matriks pertama berisi koefisien dari variabel dalam persamaan linear. Matriks kedua berisi nilai dari masing-masing persamaan linear.
Menggunakan persamaan linear sederhana di atas sebagai contoh, kita buat 2 buah matriks yang akan menjadi input dari numpy.linalg.solve
2
3 G = [[3, 2, 2],
4 [1, 3, 2],
5 [2, 2, 3]]
6
7 G = np.array(G)
8
9 d = np.array([13000, 13000, 15000])
Mari kita bahas proses pembuatan input data untuk numpy.linalg.solve.
- Pertama kita input dulu numpy sebagai np
- Kemudian buat matriks pertama pada variabel G. Matriks ini berisi koefisien dari persamaan linear. Misal, baris pertama adalah 3x + 2y + 2z, maka isi matriks baris pertama adalah [3, 2, 2].
- Penulisan matriks pertama menggunakan list agar lebih mudah penulisannya.
- Sesuai permintaan method nya, matriks G diubah menjadi numpy ndarray pada baris ke-7.
- Alternatif lain, matriks juga dapat disimpan dalam bentuk txt, kemudian diload menggunakan numpy.loadtxt(), disesuaikan saja sesuai kebutuhan.
- Kemudian buat matriks kedua, yang disebut sebagai matriks d. Isinya adalah nilai dari masing-masing persamaan linear. Langsung diubah menjadi ndarray.
- Baris pada matriks G harus sesuai dengan elemen matriks d. Misalkan, baris pertama dari matriks G adalah koefisien persamaan linear pertama, maka elemen pertama dari matriks d adalah nilai dari persamaan linear pertama juga.
Cukup mudah bukan untuk membuat matriks inputnya. Setelah input siap, saatnya menggunakan method numpy.linalg.solve untuk mencari nilai dari variabel persamaan linear.
Proses numpy.linalg.solve
Proses mencari nilai variabel menggunakan numpy.linalg.solve cukup mudah. Setelah matriks inputnya siap, masukkan keduanya kedalam method tersebut, seperti di bawah ini.
11 print(coef)
out:
[1000.0, 2000.0, 3000.0]
Mudah sekali prosesnya. Tinggal masukkan matriks inputnya, dengan urutan matriks koefisen pertama kemudian matriks persamaan linear nya. Ingat, urutan ini tidak boleh tertukar. Setelah itu, print variabel coef yang berisi nilai koefisien variabel persamaan linear, dan diperoleh nilai 1000, 2000, 3000. Hasilnya sama dengan ketika dikerjakan secara manual.
Posting Komentar untuk "Menyelesaikan Persamaan Linear Menggunakan Numpy di Python"