SciPy Matlab massivlari


ULASHISH

Matlab massivlari bilan ishlash

Bilamizki, NumPy ma’lumotlarni Python o‘qiy oladigan formatlarda saqlash uchun metodlarni taqdim etadi. SciPy esa bundan tashqari Matlab bilan o‘zaro ishlash imkoniyatini ham beradi.

SciPy bizga Matlab massivlari bilan ishlash funksiyalariga ega scipy.io modulini taqdim etadi.


Ma’lumotlarni Matlab formatida eksport qilish

savemat() funksiyasi ma’lumotlarni Matlab formatida eksport qilish imkonini beradi.

Metod quyidagi parametrlarni qabul qiladi:

  1. filename - ma’lumotlarni saqlash uchun fayl nomi.
  2. mdict - ma’lumotlarni o‘z ichiga olgan dictionary.
  3. do_compression - natijani siqish yoki siqmaslikni belgilovchi boolean qiymat. Standart qiymati False.

Misol

Quyidagi massivni "vec" o‘zgaruvchi nomi bilan mat fayliga eksport qiling:

from scipy import io import numpy as np arr = np.arange(10) io.savemat('arr.mat', {"vec": arr})

Eslatma: Yuqoridagi misol kompyuteringizda "arr.mat" nomli faylni saqlaydi.

Faylni ochish uchun quyidagi "Ma’lumotlarni Matlab formatidan import qilish" misolini ko‘rib chiqing:



Ma’lumotlarni Matlab formatidan import qilish

loadmat() funksiyasi Matlab faylidan ma’lumotlarni import qilish imkonini beradi.

Funksiya bitta majburiy parametr qabul qiladi:

filename - saqlangan ma’lumotlar faylining nomi.

U kalitlari o‘zgaruvchi nomlari, mos qiymatlari esa o‘zgaruvchilar qiymatlari bo‘lgan tuzilmali massivni qaytaradi.

Misol

Quyidagi mat faylidan massivni import qiling:

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)

Natija:

 {
   '__header__': b'MATLAB 5.0 MAT-file Platform: nt, Created on: Tue Sep 22 13:12:32 2020',
   '__version__': '1.0',
   '__globals__': [],
   'vec': array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
 }

O‘zingiz sinab ko‘ring »

Matlab ma’lumotlaridan faqat massivni ko‘rsatish uchun "vec" o‘zgaruvchi nomidan foydalaning:

Misol

... print(mydata['vec'])

Natija:

 [[0 1 2 3 4 5 6 7 8 9]]

O‘zingiz sinab ko‘ring »

Eslatma: Ko‘rib turganimizdek, massiv dastlab 1D (bir o‘lchamli) bo‘lgan, ammo ajratib olinganda uning o‘lchami bittaga oshgan.

Buni hal qilish uchun qo‘shimcha squeeze_me=True argumentini uzatishimiz mumkin:

Misol

# Import: mydata = io.loadmat('arr.mat', squeeze_me=True) print(mydata['vec'])

Natija:

 [0 1 2 3 4 5 6 7 8 9]

O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!