【제어 공학】Python에 의한 전달 함수의 그래프화

1. 소개



・전회 쓴 qiita의 페이지( htps : // 이 m/사토 235/이고 ms/f991411074c578d1640c )에, 파형 그래프를 출력해 고찰하면 재미있는 것은 아니라고 하는 코멘트를 받은 것이 계기로, 본 페이지를 작성.

2. 참고



2.1. 도서



[1] 미나미 유키의 저, 옴사, 「Python에 의한 제어 공학 입문」

2.2. 웹페이지



a) [1] 저자 지원 페이지, htps://y373. 사쿠라. 네. jp/미나미/pyctrl
b) 이전 자본, htps : // 이 m/사토 235/이고 ms/f991411074c578d1640c
c) 제어 모듈의 matlab 함수 그래프 기능, h tp : // 속눈썹 b. 하테나 bぉg. jp/엔트리/2013/04/27/093008

3. 전달 함수와 그래프화



먼저 모듈 가져오기.
import sympy
from control import matlab
import numpy as np
import matplotlib.pyplot as plt

전달 함수 만들기
Np = [0,1]
Dp = [1,2,3]
P = matlab.tf(Np, Dp)
print(P)

전달 함수 출력
      1
-------------
s^2 + 2 s + 3

상기의 전달 함수에, 스텝 함수를 입력했을 경우.
t = np.linspace(0, 3, 1000)
yout, T = matlab.step(P, t)
plt.plot(T, yout,label="test")
plt.axhline(1, color="b", linestyle="--")
plt.legend(bbox_to_anchor=(1, 0.25), loc='upper right', borderaxespad=0, fontsize=11)



전달 함수 P에 임펄스 응답 함수를 입력한 경우.
yout, T = matlab.impulse(P, t)
plt.plot(T, yout,label="test")
plt.axhline(0, color="b", linestyle="--")
plt.xlim(0, 3)
plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=0, fontsize=11)



4. 결론



· control 모듈에 matlab 계산 기능이 있다는 것을 배웠습니다.
· 마찬가지로 matplotlib의 렌더링 기능도 있었다.
·다음은, 입력 함수를 바꾸어, 얻어지는 결과의 고찰을 하고 싶다.

좋은 웹페이지 즐겨찾기