« 常用対数の近似値の算出 Main 対数関連の公式 »

Python: Python-Controlのインストール

Python-ControlをAnacondaへインストール。MATLAB互換機能がこんなに簡単にPythonで使えるようになっているとは思わなかった。

>conda install -c conda-forge control slycot
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\oshiro\Anaconda3

  added / updated specs:
    - control
    - slycot


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    ca-certificates-2020.4.5.2 |       hecda079_0         184 KB  conda-forge
    certifi-2020.4.5.2         |   py37hc8dfbb8_0         152 KB  conda-forge
    clangdev-5.0.0             |          flang_3       189.0 MB  conda-forge
    conda-4.8.3                |   py37hc8dfbb8_1         3.1 MB  conda-forge
    control-0.8.3              |           py37_1         350 KB  conda-forge
    libblas-3.8.0              |8_h8933c1f_netlib         188 KB  conda-forge
    libcblas-3.8.0             |8_h8933c1f_netlib          88 KB  conda-forge
    libflang-5.0.0             |h6538335_20180525         519 KB  conda-forge
    liblapack-3.8.0            |8_h8933c1f_netlib         2.7 MB  conda-forge
    openmp-5.0.0               |           vc14_0         576 KB  conda-forge
    python_abi-3.7             |          1_cp37m           4 KB  conda-forge
    slycot-0.4.0.0             |   py37h9a9bad4_1         1.2 MB  conda-forge
    ------------------------------------------------------------
                                           Total:       198.0 MB

The following NEW packages will be INSTALLED:

  clangdev           conda-forge/win-64::clangdev-5.0.0-flang_3
  control            conda-forge/win-64::control-0.8.3-py37_1
  libblas            conda-forge/win-64::libblas-3.8.0-8_h8933c1f_netlib
  libcblas           conda-forge/win-64::libcblas-3.8.0-8_h8933c1f_netlib
  libflang           conda-forge/win-64::libflang-5.0.0-h6538335_20180525
  liblapack          conda-forge/win-64::liblapack-3.8.0-8_h8933c1f_netlib
  openmp             conda-forge/win-64::openmp-5.0.0-vc14_0
  python_abi         conda-forge/win-64::python_abi-3.7-1_cp37m
  slycot             conda-forge/win-64::slycot-0.4.0.0-py37h9a9bad4_1

The following packages will be UPDATED:

  ca-certificates     pkgs/main::ca-certificates-2020.1.1-0 --> conda-forge::ca-certificates-2020.4.5.2-hecda079_0
  certifi              pkgs/main::certifi-2020.4.5.1-py37_0 --> conda-forge::certifi-2020.4.5.2-py37hc8dfbb8_0
  conda                       pkgs/main::conda-4.8.3-py37_0 --> conda-forge::conda-4.8.3-py37hc8dfbb8_1

The following packages will be SUPERSEDED by a higher-priority channel:

  openssl                                         pkgs/main --> conda-forge


Proceed ([y]/n)? y


Downloading and Extracting Packages
openmp-5.0.0         | 576 KB    | ############################################################################ | 100%
clangdev-5.0.0       | 189.0 MB  | ############################################################################ | 100%
certifi-2020.4.5.2   | 152 KB    | ############################################################################ | 100%
ca-certificates-2020 | 184 KB    | ############################################################################ | 100%
python_abi-3.7       | 4 KB      | ############################################################################ | 100%
libcblas-3.8.0       | 88 KB     | ############################################################################ | 100%
conda-4.8.3          | 3.1 MB    | ############################################################################ | 100%
liblapack-3.8.0      | 2.7 MB    | ############################################################################ | 100%
control-0.8.3        | 350 KB    | ############################################################################ | 100%
slycot-0.4.0.0       | 1.2 MB    | ############################################################################ | 100%
libblas-3.8.0        | 188 KB    | ############################################################################ | 100%
libflang-5.0.0       | 519 KB    | ############################################################################ | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

コード例

from control import matlab                   # MATLAB互換モジュールの読み込み
import numpy as np                           # 数値計算モジュールの読み込み
from matplotlib import pyplot as plt         # グラフ描画モジュールの読み込み

sys1 = matlab.tf([0, 0, 1], [0.1, 0.1, 1.0]) # 伝達関数の設定(分子、分母多項式)
y1, t1 = matlab.step(sys1, T = np.arange(0, 10, 0.01))  # ステップ応答の算出(t=0~10)
plt.plot(t1, y1)                                        # 応答描画

bd = matlab.bode(sys1)                       # ボード線図の描画


リンク

Leave a comment

Your comment