Physics > Physics Education
[Submitted on 17 Oct 2017]
Title:Simulation of Shive wave machines using GNU Octave, Python and C++ / Simulation von Wellenmaschinen mit GNU Octave, Python und C++
View PDFAbstract:In "Shive wave machines - Wave propagation, dispersion, reflection, simulation" (arXiv:1503.02088) technical details of Shive wave machines are discussed. Wave propagation on these machines is simulated using the commercial numerical computing environment MATLAB. The MATLAB functions are compatible with GNU Octave, a free MATLAB alternative. The lower execution speed compared to MATLAB can be somewhat compensated by converting the underlying differential equations to matrix form. With Python or C++, these and similar simulations can also be performed easily. Suitable vector and matrix libraries, ODE solvers and plotting libraries for these programming languages are available free of charge on the internet.
-----
In "Die Wellenmaschine - Grundlagen der Wellenausbreitung, Dispersion, Reflexion, Simulation" (arXiv:1503.02088) werden die in Schule und Hochschule verbreiteten Wellenmaschinen näher betrachtet und die Wellenausbreitung auf solchen Maschinen mithilfe von MATLAB simuliert. Die kommerzielle Software MATLAB ist freilich nicht überall verfügbar, sodass sich die Frage nach freien Alternativen stellt. Der MATLAB-Quelltext im genannten Artikel kann zum Beispiel mit GNU Octave ausgeführt werden. Die im Vergleich zu MATLAB geringere Ausführungsgeschwindigkeit lässt sich durch Umformung des zu lösenden Differentialgleichungssystems in Matrixschreibweise zumindest teilweise kompensieren. Aber auch mit klassischen Programmiersprachen wie Python oder C++ lassen sich diese und ähnliche Simulationen leicht durchführen. Passende Bibliotheken zur Arbeit mit Vektoren und Matrizen, zum Lösen von Differentialgleichungen und zur animierten Darstellung der Simulationsergebnisse werden im Artikel vorgestellt.
Current browse context:
physics.ed-ph
Change to browse by:
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.