matlab 为什么我不能在Simulink中以传递函数的形式实现PID控制器?

dkqlctbz  于 2022-12-19  发布在  Matlab
关注(0)|答案(2)|浏览(200)

我试图更好地理解PID控制器,所以我想看看是否可以以传递函数的形式实现它,如下所示:

然而,当我在传递函数属性窗口中输入这些数字时,我得到以下错误:

我试着谷歌了一下,显然有这样的传递函数,其中分子的阶数高于分母的阶数,这意味着系统是非偶然的,但这是否意味着你不能用传递函数的形式来写PID控制器,或者只是因为Simulink不接受这种方式,因为从数学上讲,我相信这应该是PID控制器的正确表示。所以也许有人能帮我解释清楚。

ki1q1bka

ki1q1bka1#

正如您在问题中所述,分子阶数高于分母阶数的传递函数是非因果系统。因此,无法在传递函数中正确模拟。您可以使用Simulink块PID控制器。

6tdlim6h

6tdlim6h2#

虽然传统上使用的是PID控制器方程,但实际PID通常包含一个微分分量极点,这有助于抑制较高频率下的D增益,以实现系统稳定性(以及非因果关系问题),此外还有其他好处,我不太熟悉。
添加极点的PID传递函数如下所示:PID(s)= k_p + k_i/s + k_d/(1 + s/k_f)

相关问题