我实现了一个类来识别Python中的ARX模型。下一步是基于LQR计算最佳PID参数。显然需要连续时间模型,我有以下可能性:
在Matlab中,前两种方法很容易完成,但我需要用Python。有没有人知道Matlab如何实现d2c
并有参考?
答案 0 :(得分:1)
有一些选项可以使用python-control
软件包或scipy.signal
模块或使用harold
(无耻的插件:我是作者)。
这里是一个示例
import harold
G = harold.Transfer(1, [1, 2, 1])
H_zoh = harold.discretize(G, dt=0.1, method='zoh')
H_tus = harold.discretize(G, dt=0.1, method='tustin')
H_zoh.polynomials
Out[5]:
(array([[0.00467884, 0.00437708]]),
array([[ 1. , -1.80967484, 0.81873075]]))
H_tus.polynomials
Out[6]:
(array([[0.00226757, 0.00453515, 0.00226757]]),
array([[ 1. , -1.80952381, 0.8185941 ]]))
当前支持zoh
,foh
,tustin
,forward euler
,backward euler
,包括非分散性。该文档位于http://harold.readthedocs.io/en/latest/index.html