import numpy as np
import scipy.signal as sig
f1 = 10
f2 = 30
f3 = 90
samples = 1001
theta1 = np.linspace(0.0, f1*np.pi, samples)
theta2 = np.linspace(0.0, f2*np.pi, samples)
theta3 = np.linspace(0.0, f3*np.pi, samples)
taps = 31
lcf = 20
hcf = 40
x1 = np.linspace(0, 1, samples)
y1 = np.sin(theta1) + np.cos(theta2) + np.sin(theta3)
y2 = sig.firwin(taps, [lcf, hcf], pass_zero = False, nyq = 500.5)
x2 = np.linspace(0.0, 1.0/samples*len(y2),len(y2))
f,(ax1, ax2, ax3, ax4) = plt.subplots(4, 1, sharex = True)
ax1.plot(x1, y1)
ax2.plot(x2, y2)
plt.show()

1段目で解析対象。
2段目でフィルタ右に動く。一マス動くごとに止まって、畳み込み和の要素を一つ一つ数えていく。
3段目に、ムービーでどんどん増えていく畳み込み和の要素。
4段目に、これまでの畳み込み和のプロットと、3段目の総和計算の増減に応じて、上昇(下降)する値。
とする予定。
また、subplotを横に別に用意して、LaTeXで目まぐるしく、式を動かす。
だけど、このままでは、
フィルタの
3段目の各項の一つ一つに着目できない。
着目できないなら、総和を動画で見せる意味もかなり薄れる。
あのΣの式を
「ここではかけ算してるよ」「ここでは足し算してるよ」
「立ち返ってΣの式を見たとき、どの部分がどの動作に対応しているか、納得できますな」
のレベルまで下げたい。
plt.plot(x2, y2)
plt.show()

この、かくかく感がいい。
いかにも折れ線グラフですよ感。
この折れ線グラフを拡大したほうがいい。
tapの大きさが、プロットできる最大幅にしたほうがいい。
しかも、そのプロット一つ一つに、数字を割り振る。
ななめにかかる線に意味はないので、棒グラフの線版みたいな奴の方が、離散数字の計算には合っている気がするが、あの棒グラフ的なあれ、いきなり見せられても、ぽかーんとなるだけだから。
plt.plot(x2,y2,"ow")
plt.vlines(x2,[0],y2,lw=2)
plt.show()
これね、もう。。。

たしかに、間には何の数字もないけどさぁ...良く分からないよそこまでこだわる理由が。
ちなみに、vlinesの他にhlinesもある。
Horizontal, verticalの違いだろう。
水平、垂直。
http://matplotlib.org/examples/pylab_examples/stem_plot.html
ちょっと違うけど、stemというのもあるらしい。
今日は、予定外に頑張れてしまった。
新しいグラフとかが、すんなり描けて、面白かったのだろうと思う。
明日は、ax3(グラフの3段目)に関して、ちょろっと考える程度でいいや。
【pythonの最新記事】
- 中速フーリエ変換 ~離散フーリエ変換より..
- 断面二次モーメントを、座標点の配列から計..
- 断面二次モーメントを、座標点の配列から計..
- fontファイルの文字データ(グリフ)を..
- matplotlibのpyplot.pl..
- 計算力学技術者試験の問題集 自炊(裁断→..
- pythonで、ホワイトノイズやピンクノ..
- 脳ドッグに行ってきた。→MRIの画像デー..
- matplotlibのimshowで円を..
- matplotlibの、cmapを、徐々..
- matplotlibのmake_axes..
- matplotlib floatinga..
- matplotlib plotの色を、値..
- Pythonで、「二次元フーリエ変換した..
- matplotlibのlinestyle..
- どちらが正しいRGBか。(matplot..
- matplotlibのannotateの..
- matplotlibで、x軸とy軸の数字..
- VBAで、pythonのrangeとか、..
- matplotlibのaxes3Dで、a..
https://wakelet.com/wake/37-6FVXIL6OgH6Kxi2U1h
https://wakelet.com/wake/1eFMGYX7JTnnHI_bOA2w1
https://wakelet.com/wake/mxK48eTsnk4bL7AVa12Ij
https://wakelet.com/wake/Z3VUJuyI9jCi33yBtS7Hm
https://wakelet.com/wake/j9ZH637cSf2CLZaK_kb5r
https://wakelet.com/wake/xP_JBR5vjF4YlXlhtb7da
https://wakelet.com/wake/GuPeJPLY8OTrCDkABnJVa
https://wakelet.com/wake/RA5ZElCqeUIhjLVvrATE2
https://wakelet.com/wake/G4VDaA1w6jZA9476ZvZX5
https://wakelet.com/wake/4-zRSTa2lc8_2KJP5XuO-
https://wakelet.com/wake/lKZFfVftLYaaP5-MZbBO_
https://wakelet.com/wake/y9Qp1m-isRCehfS6S5UZJ
https://wakelet.com/wake/Vh75WjSrYsCSKnBqlOtis
https://wakelet.com/wake/STxHL7WTS7zqvKHSdrgh5
https://wakelet.com/wake/an3TW74Vn_EYbS57nsg08
https://wakelet.com/wake/hNGxC1HO-Tjzm3bf4LVvP
https://wakelet.com/wake/gAFDvmyBSDnTXaAojCcN_
https://wakelet.com/wake/k5ZzLaCYA287KHkMVKEqr