Ilmu Data

Tutorial Python SciPy

Tutorial Python SciPy
Dalam pelajaran ini, kita akan melihat apa kegunaan perpustakaan SciPy dengan Python dan bagaimana perpustakaan itu membantu kita bekerja dengan persamaan dan algoritme matematika secara interaktif. Hal yang baik tentang paket SciPy Python adalah jika kita menginginkan kelas atau membuat halaman web, SciPy sepenuhnya kompatibel dengan sistem secara keseluruhan dan dapat memberikan integrasi yang mulus.

Sebagai SciPy adalah sumber terbuka, ia memiliki komunitas pengembang yang sangat aktif dan bersemangat karena ada sejumlah besar modul yang hadir untuk sejumlah besar aplikasi dan perhitungan ilmiah yang tersedia dengan SciPy. Beberapa operasi matematika kompleks yang dapat dilakukan dengan SciPy adalah:

SciPy dapat dibandingkan dengan sebagian besar pustaka perintah dan standar seperti pustaka GSL untuk C++ dan Matlab. Karena SciPy dibangun di atas paket NumPy, kedua paket ini juga dapat diintegrasikan sepenuhnya. Jika Anda dapat memikirkan operasi matematika yang perlu dilakukan, pastikan Anda memeriksa perpustakaan SciPy sebelum Anda mengimplementasikan modul itu sendiri karena dalam kebanyakan kasus, SciPy sudah menerapkan semua operasi untuk Anda sepenuhnya.

Instal Perpustakaan SciPy

Mari kita instal perpustakaan SciPy sebelum kita beralih ke contoh dan konsep yang sebenarnya. Ada dua cara untuk menginstal paket ini. Yang pertama termasuk menggunakan pengelola paket Python, pip:

pip install scipy

Cara kedua berkaitan dengan Anaconda, kita dapat menginstal paket sebagai:

conda install -c anaconda scipy

Setelah perpustakaan diinstal, kita dapat mengimpornya sebagai:

scipy impor

Terakhir, karena kami juga akan menggunakan NumPy (Disarankan bahwa untuk semua operasi NumPy, kami menggunakan NumPy secara langsung daripada melalui paket SciPy):

impor numpy

Ada kemungkinan bahwa dalam beberapa kasus, kami juga ingin memplot hasil kami yang akan kami gunakan perpustakaan Matplotlib. Lakukan impor berikut untuk perpustakaan itu:

impor matplotlib

Saya akan menggunakan manajer Anaconda untuk semua contoh dalam pelajaran ini. Saya akan meluncurkan Notebook Jupyter untuk hal yang sama:

Sekarang setelah kita siap dengan semua pernyataan impor untuk menulis beberapa kode, mari kita mulai menyelami paket SciPy dengan beberapa contoh praktis.

Bekerja dengan Persamaan Polinomial

Kita akan mulai dengan melihat persamaan polinomial sederhana. Ada dua cara untuk mengintegrasikan fungsi Polinomial ke dalam program kami. Kita dapat memanfaatkan poli1d kelas yang menggunakan koefisien atau akar polinomial untuk menginisialisasi polinomial. Mari kita lihat sebuah contoh:

dari numpy impor poly1d
polinomial_pertama = poli1d([3, 4, 7])
cetak(polinomial_pertama)

Ketika kita menjalankan contoh ini, kita akan melihat output berikut:

Jelas, representasi polinomial dari persamaan dicetak sebagai output sehingga hasilnya cukup mudah dipahami. Kita dapat melakukan berbagai operasi pada polinomial ini juga, seperti kuadratkan, cari turunannya atau bahkan menyelesaikannya untuk nilai x. Mari kita coba melakukan semua ini dalam contoh berikut:

print("Persegi Polinomial: \n")
print(polinomial_pertama * polinomial_pertama)
print("Turunan Polinomial: \n")
cetak(polinomial_pertama.turunan())
print("Menyelesaikan Polinomial: \n")
cetak(pertama_polinomial(3))

Ketika kita menjalankan contoh ini, kita akan melihat output berikut:

Tepat ketika saya berpikir bahwa hanya ini yang dapat kita lakukan dengan SciPy, saya ingat bahwa kita juga dapat mengintegrasikan Polinomial. Mari kita jalankan contoh terakhir dengan Polinomial:

print("Mengintegrasikan Polinomial: \n")
cetak(polinomial_pertama.bilangan bulat(1))

Bilangan bulat yang kita lewati memberitahu paket berapa kali untuk mengintegrasikan polinomial:

Kita cukup melewatkan bilangan bulat lain yang memberi tahu paket berapa kali untuk mengintegrasikan polinomial ini.

Memecahkan Persamaan Linier

Bahkan dimungkinkan untuk menyelesaikan persamaan linier dengan SciPy dan menemukan akarnya, jika ada. Untuk menyelesaikan persamaan linier, kami merepresentasikan himpunan persamaan sebagai array NumPy dan solusinya sebagai array NumPy yang terpisah. Mari kita visualisasikan dengan contoh di mana kita melakukan hal yang sama dan memanfaatkan linalg paket untuk menemukan akar persamaan, berikut adalah persamaan yang akan kita selesaikan:

1x + 5y = 6
3x + 7y = 9

Mari selesaikan persamaan di atas:

dari scipy import linalg
persamaan = np.array([[1, 5], [3, 7]])
solusi = np.larik([[6], [9]])
akar = linalg.memecahkan (persamaan, solusi)
print("Temukan akarnya:")
cetak (akar)
print("\n Produk titik harus nol jika solusinya benar:")
cetak (persamaan.titik (akar) - solusi)

Ketika kita menjalankan program di atas, kita akan melihat bahwa persamaan perkalian titik memberikan hasil nol, yang berarti bahwa akar-akar yang ditemukan program itu benar:

Transformasi Fourier dengan SciPy

Transformasi Fourier membantu kita untuk mengekspresikan suatu fungsi sebagai komponen terpisah yang membentuk fungsi itu dan memandu kita tentang cara kita dapat menggabungkan kembali komponen-komponen tersebut untuk mendapatkan kembali fungsi aslinya.

Mari kita lihat contoh sederhana Transformasi Fourier di mana kita memplot jumlah dua kosinus menggunakan pustaka Matplotlib:

dari scipy.fftpack impor fft
# Jumlah titik sampel
N = 500
# jarak sampel
T = 1.0 / 800.0
x = np.linspace(0.0, N*T, N)
y = np.karena (50.0 * 2.0* np.pi * x) + 0.5 * np.karena (80.0 * 2.0 * np.pi * x)
yf = ft(y)
xf = np.linspace(0.0, 1.0/(2.0 * T), N//2)
# matplotlib untuk tujuan merencanakan
impor matplotlib.pyplot sebagai plt
plt.plot(xf, 2.0/N * np.abs(yf[0:N//2]))
plt.judul('Info')
plt.ylabel('sumbu Y')
plt.xlabel('sumbu X')
plt.kisi()
plt.menunjukkan()

Di sini, kami mulai dengan membangun ruang sampel dan persamaan kosinus yang kemudian kami transformasikan dan plot. Berikut adalah output dari program di atas:

Ini adalah salah satu contoh bagus di mana kita melihat SciPy digunakan dalam persamaan matematika yang kompleks untuk memvisualisasikan sesuatu dengan mudah.

Vektor dan Matriks dengan SciPy

Sekarang setelah kita mengetahui banyak hal yang mampu dilakukan SciPy, kita dapat yakin bahwa SciPy juga dapat bekerja dengan Vektor dan Matriks. Matriks adalah bagian penting dari aljabar linier karena matriks adalah sesuatu yang kami gunakan untuk mewakili pemetaan Vektor juga.

Sama seperti kita melihat penyelesaian persamaan linier dengan SciPy, kita dapat merepresentasikan vektor dengan np.Himpunan() fungsi. Mari kita mulai dengan membuat matriks:

my_matrix = np.matriks (np.acak.acak((3, 3))))
cetak(matriks_saya)

Berikut adalah output dari cuplikan di atas:

Setiap kali kita berbicara tentang matriks, kita selalu berbicara tentang nilai Eigen dan vektor Eigen. Sederhananya, vektor Eigen adalah vektor yang, ketika dikalikan dengan matriks, tidak mengubah arahnya, berlawanan dengan sebagian besar vektor. Ini berarti bahwa bahkan ketika Anda mengalikan vektor Eigen dengan matriks, ada nilai (atau nilai eigen) yang merupakan salah satu faktor perkalian. Ini berarti:

Ax = x.

Dalam persamaan di atas, A adalah matriks, adalah nilai Eigen dan x adalah Vektor. Mari kita tulis potongan kode sederhana untuk menemukan nilai Eigen untuk Vektor yang diberikan:

la, vektor = linalg.misalnya(matriks_saya)
cetak(vektor[:, 0])
cetak(vektor[:, 1])
cetak (linalg.eigvals(matriks_saya))

Ketika kita menjalankan contoh ini, kita akan melihat output berikut:

Menghitung Determinan Matriks

Operasi selanjutnya yang akan kita lakukan dengan SciPy adalah menghitung determinan matriks 2 dimensi. Kami akan menggunakan kembali matriks yang kami gunakan dalam potongan kode terakhir di sini:

linalg.det(matriks_saya)

Ketika kita menjalankan contoh ini, kita akan melihat output berikut:

Kesimpulan

Dalam pelajaran ini, kita melihat banyak contoh bagus di mana SciPy dapat membantu kita dengan melakukan perhitungan matematis yang kompleks untuk kita dengan API dan paket yang mudah digunakan.

Distro Linux Terbaik untuk Gaming pada tahun 2021
Sistem operasi Linux telah berkembang jauh dari tampilan aslinya, sederhana, berbasis server. OS ini telah sangat meningkat dalam beberapa tahun terak...
Cara merekam dan streaming sesi permainan Anda di Linux
Dulu, bermain game hanya dianggap sebagai hobi, namun seiring berjalannya waktu, industri game mengalami pertumbuhan yang sangat pesat baik dari segi ...
Game Terbaik untuk Dimainkan dengan Pelacakan Tangan
Oculus Quest baru-baru ini memperkenalkan ide hebat pelacakan tangan tanpa pengontrol. Dengan jumlah permainan dan aktivitas yang terus meningkat yang...