Home » python » SciPy Matlab Arrays

SciPy Matlab Arrays

by Catur Kurnia Sari
by Catur Kurnia Sari

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:

  1. filename – nama file untuk menyimpan data.
  2. mdict – kamus yang berisi data.
  3. 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'])

You may also like