这个例子展示了如何在控制系统理论中使用Padé近似来建模一阶系统响应中的时滞。时间延迟出现在诸如化学和运输过程等系统中,在这些系统中,输入和系统响应之间存在延迟。当这些输入被建模时,它们被称为死区输入。
这个例子使用了Symbolic Math Toolbox™来求解一阶系统的传递函数,并使用Padé近似法求出系统对死时间步长输入的响应。这个例子符号化地执行计算以获得解析结果。
Padé近似的顺序(m, n)
近似函数f (x)
周围
作为
Padé近似是由两个幂级数的比值形成的有理函数。由于它是有理函数,所以在用极点逼近函数时比泰勒级数更精确。Padé近似是用符号数学工具箱™函数表示的pade
.
当在膨胀点存在一个极点或零点时 ,则Padé近似的准确性下降。为了提高准确性,使用Padé近似的另一种形式
的pade
函数将返回Padé近似函数的替代形式OrderMode
输入参数相对
.
一阶系统的行为可用这个微分方程来描述
在MATLAB®中输入微分方程。
信谊τ一个x (t)y (t)xS (s)y (s)H(年代)tmpF = tau*diff(y)+y = a*x;
求它的拉普拉斯变换F
使用拉普拉斯
.
F =拉普拉斯(F, t, s)
F =
假设系统的响应为t = 0
是0
.使用潜艇
来代替y (0) = 0
.
F =潜艇(F, y (0), 0)
F =
要收集常用术语,请使用简化
.
F =简化(F)
F =
为便于阅读,请替换x (t)
和y (t)
与xS (s)
和y (s)
.
F =潜艇(F,[拉普拉斯(x (t), t, s)拉普拉斯(y (t), t, s)], [x (s) y (s)))
F =
传递函数的拉普拉斯变换是y (s) / xS (s)
.等式两边同时除以xS (s)
用潜艇代替y (s) / xS (s)
与H(年代)
.
F = F / xS(年代);F =潜艇(F, y (s) / xS (s), H (s))
F =
解方程为H(年代)
.代替H(年代)
用一个虚拟变量,用solve求解虚拟变量,并赋值给Hsol (s)
.
F =潜艇(F、H (s), tmp);Hsol (s) =解决(F, tmp)
Hsol =
一阶系统的输入是一个时滞阶跃输入。若要表示阶跃输入,请使用亥维赛
.将输入延迟三个时间单位。求拉普拉斯变换拉普拉斯
.
Step = heaviside(t - 3);一步=拉普拉斯(步骤)
一步=
求系统的响应,它是传递函数和输入的乘积。
y = Hsol (s) *步骤
y =
若要绘制响应,请设置参数一个
和τ
特定的值。为一个
和τ
,选择值1
和3.
,分别。
Y = subs(Y,[a tau],[1 3]);y = ilaplace (y,年代);
找到Padé近似的顺序(2 - 2)
的顺序输入参数pade
.
stepPade22 = pade(步骤,“秩序”(2 - 2))
stepPade22 =
通过将传递函数与输入的Padé近似值相乘,找到对输入的响应。
* stepPade22 yPade22 = Hsol(年代)
yPade22 =
求拉普拉斯逆变换yPade22
使用ilaplace
.
yPade22 = ilaplace (yPade22年代)
yPade22 =
要绘制响应,需要设置参数一个
和τ
他们的价值观1
和3.
,分别。
yPade22 = subs(yPade22,[a tau],[1 3])
yPade22 =
绘制系统的响应y
以及通过Padé近似计算得到的响应yPade22
.
fplot (y, 20 [0])在fplot(yPade22,[0 20])网格在标题“Padé近似于死时间步进输入”传奇(“对死时间阶跃输入的响应”,'Padé approant [2 2]',...“位置”,“最佳”);
的(2 - 2)
Padé近似不能很好地表示响应,因为在展开点处存在一个极点0
.提高…的准确性pade
当膨胀点有极点或零点时,设OrderMode
输入参数,并重复上述步骤。有关详细信息,请参见pade
.
stepPade22Rel = pade(步骤,“秩序”(2 - 2),“OrderMode”,“相对”)
stepPade22Rel =
* stepPade22Rel yPade22Rel = Hsol(年代)
yPade22Rel =
yPade22Rel = ilaplace (yPade22Rel);yPade22Rel = subs(yPade22Rel,[a tau],[1 3])
yPade22Rel =
fplot (yPade22Rel 20] [0,“DisplayName的”,'Relative Padé approant [2 2]')
您可以通过增加Padé近似值的顺序来提高其准确性。增加订单到5 [4]
然后重复这些步骤。的n (n - 1)
Padé approant更适合近似于t = 0
比[n n]
Pade近似值。
stepPade45 = pade(步骤,“秩序”[4 - 5])
stepPade45 =
* stepPade45 yPade45 = Hsol(年代)
yPade45 =
yPade45 = subs(yPade45,[a tau],[1 3])
yPade45 =
求拉普拉斯逆变换yPade45
使用ilaplace
.近似yPade45
数值使用vpa
.绘制从Padé近似值计算的响应yPade45
.
yPade45 = vpa (ilaplace (yPade45));fplot (yPade45 20] [0,“DisplayName的”,'Padé approant [4 5]')
提出了以下几点:
Padé近似可以模拟死时间步长输入。
Padé近似值的准确性随着近似值顺序的增加而增加。
当在膨胀点存在极点或零点时,Padé近似关于膨胀点是不准确的。为了提高近似的准确性,设置OrderMode
选项相对
.你也可以用增加分母相对于分子的顺序。