Lompat ke konten Lompat ke sidebar Lompat ke footer

Simulasi Simpangan Getaran Menggunakan Python

Getaran adalah gerakan bolak-balik melewati suatu titik setimbang. Partikel yang bergetar mulai bergerak dari titik terjauh dari titik setimbang yang disebut sebagai amplitudo. Partikel bergerak menuju titik setimbang dan melewatinya hingga mencapai amplitudo pada sisi yang lain. Ketika mencapai amplitudo, partikel berhenti dan berbalik arah hingga melewat titik setimbang lagi dan kembali ke posisi semula.
plot_simpangan_getaran_matplotlib_python
Plot Simpangan Getaran
 
 
Pola gerakan tersebut terus berulang, sehingga posisi partikel akan berubah setiap waktu, dan dinyatakan sebagai simpangan. Jika simpangan dan waktu diplot pada grafik, akan terbentuk pola sinusoidal seperti grafik di atas. Misalkan ketika waktu 0 maka simpangan nya 0. Ketika waktu 20, simpangannya sekitar -10.
 

Menghitung Simpangan Gelombang

Simpangan pada waktu tertentu dapat dihitung menggunakan persamaan:
 
$ y = A sin(wt) $
Dimana:
  • y adalah simpangan getaran
  • A adalah amplitudo (simpangan terjauh)
  • w adalah kecepatan sudut
  • t adalah waktu
     

Menggunakan persamaan gelombang di atas, kita dapat menghitung nilai simpangan pada waktu tertentu, misal pada saat waktu 0 dan 10.

Simulasi Persamaan Gelombang Menggunakan Python

Menggunakan python, kita dapat membuat simulasi gelombang seperti grafik yang ditampilkan pada gambar di atas. Idenya adalah, dengan membuat data waktu dengan interval dan jumlah tertentu. Misalnya, 0, 1, 2, 3 hingga 49. Kemudian, dihitung simpangan gelombang menggunakan waktu tersebut.

Kemudian, plot data waktu pada sumbu x dan simpangan pada sumbu y menggunakan matplotlib. Script python lengkapnya dapat dilihat pada GITHUB saya:

https://github.com/WahyuNoorIchwan/physics/blob/main/vibration_model.py

Agar lebih jelas, penjelasan bagian-bagian script python di atas akan ditambahkan di bawah ini.

1   import numpy as np
2   import matplotlib.pyplot as plt
3   
4   # Parameters
5   A = 10
6   w = 0.25
7   n = 50
8   
9   # Model Matrix - t and y
10  model = np.zeros((n, 2))
11  model[:, 0] = range(50)
12  
13  # Calculate y
14  for i in range(n):
15      model[i, 1] = A*np.sin(w*model[i, 0])
16      
17  # Plot Vibration Model
18  fig, ax = plt.subplots()
19  fig.set_size_inches(8, 4)
20  
21  ax.scatter(model[:, 0], model[:, 1])
22  ax.set_title("Vibration Simulation")
23  ax.set_xlabel("Time")
24  ax.set_ylabel("Deviation")
25  
26  plt.show()
  • Pertama, import numpy dan matplotlib.plt untuk menangani proses kalkulasi dan plot hasil simulasi.
  • Buat parameter persamaan getaran pada baris 5 hingga 7. Dimana A adalah amplitudo, w kecepatan sudut, dan n jumlah data.
  • Waktu (t) bernilai dari 0, 1, 2, hingga n-1, dibuat data dengan 50 waktu berbeda.
  • Buat matrix kosong berukuran [n, 2]. Kolom pertama akan diisi dengan data waktu, kolom kedua diisi simpangan dari waktu di tersebut.
  • Isi kolom pertama model[:, 0] dengan range(50). Function tersebut akan otomatis mengisi seluruh barisnya dengan angka 0, 1, 2, hingga 49.
  • Buat for loop sebanyak n untuk menghitung simpangan ke-i, model[i, 1] Gunakan persmaan yang sudah dibahas sebelumnya, dan waktu model[i, 0].
  • Sampai sini sudah jadi hasil simulasinya, 50 data waktu dan 50 data simpangan dari tiap waktu.
  • Tampilkan model menggunakan plt. Buat canvas plot pada baris 18 dan 19. 
  • Gunakan scatter plot pada baris ke-21, agar titik-titik data terlihat. Data x adalah waktu (model[:, 0] dan y adalah simpangan (model[:, 1]).
  • Tambahkan title, xlabel, dan ylabel.
  • Tampilkan grafik yang dibuat dengan plt.show()..

Posting Komentar untuk "Simulasi Simpangan Getaran Menggunakan Python"