diff options
author | HeadAndToes <55713950+HeadAndToes@users.noreply.github.com> | 2022-07-19 16:42:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-19 16:42:27 +0200 |
commit | c4fd6a857d14abdcc91ce84237f542561520d15a (patch) | |
tree | 8465f77faf415379e84bd112e67cc4d27113201d /buch/papers/fm/Python animation/Bessel-FM.py | |
parent | Korrektur Feedback (diff) | |
parent | makefile fix (diff) | |
download | SeminarSpezielleFunktionen-c4fd6a857d14abdcc91ce84237f542561520d15a.tar.gz SeminarSpezielleFunktionen-c4fd6a857d14abdcc91ce84237f542561520d15a.zip |
Merge branch 'AndreasFMueller:master' into master
Diffstat (limited to '')
-rw-r--r-- | buch/papers/fm/Python animation/Bessel-FM.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/buch/papers/fm/Python animation/Bessel-FM.py b/buch/papers/fm/Python animation/Bessel-FM.py new file mode 100644 index 0000000..cf30e16 --- /dev/null +++ b/buch/papers/fm/Python animation/Bessel-FM.py @@ -0,0 +1,42 @@ +import numpy as np +from scipy import signal +from scipy.fft import fft, ifft, fftfreq +import scipy.special as sc +import scipy.fftpack +import matplotlib.pyplot as plt +from matplotlib.widgets import Slider + +# Number of samplepoints +N = 600 +# sample spacing +T = 1.0 / 800.0 +x = np.linspace(0.01, N*T, N) +beta = 1.0 +y_old = np.sin(100.0 * 2.0*np.pi*x+beta*np.sin(50.0 * 2.0*np.pi*x)) +y = 0*x; +xf = fftfreq(N, 1 / 400) +for k in range (-5, 5): + y = sc.jv(k,beta)*np.sin((100.0+k*50) * 2.0*np.pi*x) + yf = fft(y) + plt.plot(xf, np.abs(yf)) + +axbeta =plt.axes([0.25, 0.1, 0.65, 0.03]) +beta_slider = Slider( +ax=axbeta, +label="Beta", +valmin=0.1, +valmax=3, +valinit=beta, +) + +def update(val): + line.set_ydata(fm(beta_slider.val)) + fig.canvas.draw_idle() + + +beta_slider.on_changed(update) +plt.show() + +yf_old = fft(y_old) +plt.plot(xf, np.abs(yf_old)) +plt.show()
\ No newline at end of file |