NumPy va MATLAB o'rtasidagi asosiy farqlar
MATLAB
|
numpy
|
MATLABda bazaviy tip, hatto skaler (xususan, raqamli) ma'lumotlar uchun ham ko'p o'lchovli massivdir.
MATLAB-dagi massivlar, agar siz o'lchamlar sonini ko'rsatmasangiz va o'zingiz yozmasangiz, ikki o'lchovli suzuvchi nuqtali raqamlarning ikki o'lchovli massivlari sifatida saqlanadi.
Ushbu massivlarning ikki o'lchovli misollari bo'yicha operatsiyalar chiziqli algebra matritsa operatsiyalariga asoslangan.
|
NumPy-da asosiy tip ko'p o'lchovli massivdir. NumPy-dagi massiv o'zgaruvchilari odatda ob'ektlarni ketma-ket saqlash uchun zarur bo'lgan "minimal" (eng kam xotira talab qiladigan) turdagi n o'lchovli massivlarda saqlanadi, agar siz o'lchamlar soni va turini ko'rsatmasangiz.
NumPy element bo'yicha operatsiyalarni bajaradi, shuning uchun ikki o'lchovli massivlarni " bilan ko'paytiradi.
*
” matritsani ko‘paytirish emas, bu elementni elementga ko‘paytirishdir. Operator "
@
, Python 3.5 dan beri mavjud bo'lib, matritsalarni muntazam ko'paytirish uchun ishlatilishi mumkin.
|
MATLAB 1 dan boshlab raqamlashni (indekslashni) boshlaydi;
a ( 1 )
birinchi element hisoblanadi.
|
NumPy, Python va zamonaviy dasturlash tillarining aksariyati kabi, indekslashni boshlaydi.
0
; birinchi element bo'ladi
a [ 0 ]
.
|
MATLAB skript tili (skript tili) tanish chiziqli algebra yozuvlarini qo'llab-quvvatlash uchun yaratilgan, shuning uchun ba'zi massiv operatsiyalari uchun sintaksis NumPy-ga qaraganda ixchamroqdir.
Boshqa tomondan, grafik interfeyslarni va kengroq aytganda, to'liq huquqli ilovalarni yaratish uchun API juda mashaqqatli jarayondir.
|
NumPy umumiy maqsadli dasturlash tili bo'lgan Python-ga asoslangan. NumPy-ning afzalligi Python kutubxonalariga, jumladan SciPy, Matplotlib, Pandas, OpenCV va boshqalarga to'liq va cheksiz kirishdir. Bundan tashqari, Python ko'pincha o'rnatilgan (
o'rnatilgan
) boshqa dasturiy ta'minot va hatto apparat (masalan, NVIDIA CUDA) dasturiy ta'minotida skript tili sifatida, shu bilan NumPy-ni ushbu platformalarda ishlatishga imkon beradi.
|
kesish (
kesish
) MATLAB dagi massivlar ma’lumotlardan zarur bo‘lgunga qadar nusxa ko‘chirmaslik uchun yozish vaqtida “dangasa” (kechiktirilgan) nusxa ko‘chirish bilan o‘tish-yo‘naltiruvchi semantikadan foydalanadi. Kesish operatsiyalari massiv qismlarini nusxalaydi.
|
NumPy-ning dilimlash operatsiyasi argumentlarni nusxalashdan qochish uchun o'tish-by-referencedan foydalanadi. Kesish operatsiyalari natijalari aslida tasvirdir (
Koʻrishlar
) massivlar nusxalari emas, massivlar.
|
Import numpy as np
Import matplotlib.pyplot as plt
A=3
F=4
phi=2
sr=100
time=np.arange(0,8,1/ sr)
y=A*np.sin(2*np.pi*f*time+phi)
plt.figure(figsize=(19,4))
plt.plot(time,y)
plt.title(“sinus grafigi”)
plt.xlabel(“Vaqt(s)”)
plt.ylabel(“Amplituda”)
plt.show()
Import numpy as np
Import matplotlib.pyplot as plt
A=2
f=6
phi=2
sr=50
time=np.arange(0,8,1/ sr)
y=A*np.sin(2*np.pi*f*time+phi)
plt.figure(figsize=(15,4))
plt.plot(time,y)
plt.title(“Kosinus grafigi”)
plt.xlabel(“Vaqt(s)”)
plt.ylabel(“Amplituda”)
plt.show()
Do'stlaringiz bilan baham: |