015 Pythonを使って動作検証用の測定データを作成する

2022/03/22

紹介/スクリプト

t f B! P L

PyVISAパッケージを使って測定機器をコントロールするシステムを作っていると,動作の検証用に測定データが必要になることがあります(実機を使わずに動作検証するためです).
実際の測定データを用意してもよいのですが,Pythonでは,numpyパッケージmatplotlibパッケージを使って,簡単に測定データを作成し,グラフ描画することができます.

今回は,下記に示すように,
    $\sin\left(\pi t + \theta_{0}\right) + 2$
と,振幅1[V],位相30[deg],直流バイアス 2[V],時間は 5[s](2.5周期)の正弦波データを,10[ms]毎に合計501個生成することにします.
ついでに,生成した正弦波波形を画面に描画して,正しく生成できているか確認もします.

さて,この測定データを生成するPythonスクリプトは何行になると思いますか?
実は,下記に示すように,僅か10行足らずです.
    import numpy as np
    import matplotlib.pyplot as plt
    
    ts = np.linspace(0, 5, 501)
    xs = np.pi*ts + 30/180*np.pi
    ys = np.sin(xs) + 2
    
    plt.plot(ts, ys)
    plt.show()

ts(numpy配列)に各時刻,ys(numpy配列)に正弦波データが収納されます.

1行目と2行目は,それぞれ,numpyパッケージとmatplotlibパッケージ(のpyplotモジュール)を読み込んでいるのですが,注意してみると,それぞれ,as np, as pltと記述されているのに気がつくと思います.
この,パッケージをimportで読み込む際に,as を使うのは,読み込んだパッケージ(もしくはモジュール)に別名(エイリアス)を付ける機能です.
本来のパッケージ名(長い)の代わりに,別名(短い)を使えるようにするのが目的です.

numpyパッケージと,matplotlibパッケージのpyplotモジュールは,Pythonのパッケージ群の中でも主役級に有名で,それぞれ,np, pltという別名を付けるのは,Pythonユーザの中ではお約束とも言えます.
本ブログでも,有名なパッケージ(およびモジュール)は,お約束に従って,別名を使うことにします.

ところで,パッケージモジュールの違いについてですが,モジュールが集まったものがパッケージになります.従って,matplotlib.pyplotというのは,matplotlibパッケージの中のpyplotモジュールとなります(厳密に呼び名を使い分けなければならないものでもないですが).

長くなってきたので,上記のPythonスクリプトの説明は,次の投稿にすることにします.
最後に,生成した正弦波データのグラフを紹介して終わりとします.








このブログを検索

自己紹介

C++やC#を使って数値解析プログラムの開発を長年行ってきました.
今は,Pythonを使った自動処理システムの開発をメインに行っています.

QooQ