Section Artikel
MKenggunakan Matlab Array
Kita tahu bahwa NumPy memberi kita metode untuk menyimpan data dalam format yang dapat dibaca untuk Python. Tapi SciPy memberi kita interoperabilitas dengan Matlab juga.
SciPy memberi kita modul scipy.io, yang memiliki fungsi untuk bekerja dengan array Matlab.
Mengekspor Data dalam Format Matlab
Fungsi savemat() memungkinkan kita mengekspor data dalam format Matlab.
Metode tersebut mengambil parameter berikut:
- filename – nama file untuk menyimpan data.
- mdict – kamus yang berisi data.
- do_compression – nilai boolean yang menentukan apakah akan mengompresi reult atau tidak. Default False.
Contoh:
Ekspor array berikut dengan nama variabel “vec” ke file matlab
from scipy import io import numpy as np arr = np.arange(10) io.savemat('arr.mat', {"vec": arr})
Catatan: Contoh di atas menyimpan nama file “arr.mat” pada komputer.
Untuk membuka file, lihat contoh “Impor Data dari Format Matlab” di bawah ini:
Impor Data dari Format Matlab
Fungsi loadmat() memungkinkan kita untuk mengimpor data dari file Matlab.
Fungsi tersebut mengambil satu parameter yang diperlukan, yaitu:
filename – nama file dari data yang disimpan.
Ini akan mengembalikan array terstruktur yang kuncinya adalah nama variabel, dan nilai yang sesuai adalah nilai variabel.
Contoh:
Impor array dari file mat berikut
from scipy import io import numpy as np arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9,]) #Export: io.savemat('arr.mat', {"vec": arr}) #Import: mydata = io.loadmat('arr.mat') print(mydata)
Gunakan nama variabel “vec” untuk menampilkan hanya array dari data matlab.
Contoh:
from scipy import io import numpy as np arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9,]) #Export: io.savemat('arr.mat', {"vec": arr}) #Import: mydata = io.loadmat('arr.mat') print(mydata['vec'])
Catatan: Kita dapat melihat bahwa array aslinya adalah 1D, tetapi saat ekstraksi akan bertambah satu dimensi.
Untuk menyelesaikan ini, kita dapat memberikan argumen tambahan squeeze_me = True.
Contoh:
from scipy import io import numpy as np arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9,]) #Export: io.savemat('arr.mat', {"vec": arr}) #Import: mydata = io.loadmat('arr.mat', squeeze_me=True) print(mydata['vec'])