这个例子展示了如何在控制系统理论中使用Padé近似来建模一阶系统响应中的时滞。时间延迟出现在诸如化学和运输过程等系统中,在这些系统中,输入和系统响应之间存在延迟。当这些输入被建模时,它们被称为死区输入。
此示例使用符号数学工具箱™来解决一阶系统的传输功能,并使用Padé近似找到系统响应到死时间步骤输入。此示例符号执行计算以获取分析结果。
皮肤近似的订单[m,n]
近似函数f (x)
大约
作为
Padé近似是由两个幂级数的比值形成的有理函数。由于它是有理函数,所以在用极点逼近函数时比泰勒级数更精确。Padé近似是用符号数学工具箱™函数表示的pade
.
当在膨胀点存在一个极点或零点时 ,则Padé近似的准确性下降。为了提高准确性,使用Padé近似的另一种形式
的pade
函数将返回Padé近似函数的替代形式orderMode.
输入参数相对
.
一阶系统的行为可用这个微分方程来描述
在MATLAB®中输入差分方程。
信谊TAU一个x (t)y(t)XS(s)ys(s)H(年代)TMP.f = 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)
和ys(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,ys(s)/ xs,h(s))
F =
解决方程H(年代)
.替代品H(年代)
使用虚拟变量,使用解决方案解决虚拟变量,并将解决方案分配给Hsol(s)
.
f =子(f,h(s),tmp);HSOL =解决(F,TMP)
Hsol =
到一阶系统的输入是一个时间延迟的步骤输入。表示步骤输入,使用亥维赛
.将输入延迟三个时间单位。求拉普拉斯变换拉普拉斯
.
Step = heaviside(t - 3);一步=拉普拉斯(步骤)
步骤=
找到系统的响应,这是传递函数和输入的乘积。
y = Hsol (s) *步骤
y =
若要绘制响应,请设置参数一个
和TAU
到特定值。为了一个
和TAU
,选择值1
和3.
,分别。
Y =潜艇(y,[a tau],[1 3]);y = ilaplace(y,s);
找到Padé近似的顺序(2 - 2)
使用订单输入参数的步骤输入pade
.
stepPade22 = pade(步骤,'命令'(2 - 2))
steppade22 =
通过乘以输入的传输函数和Padé近似来找对输入的响应。
ypade22 = hsol(s)* steppade22
ypade22 =
找到逆拉普拉斯变换ypade22
使用ilaplace
.
yPade22 = ilaplace (yPade22年代)
ypade22 =
要绘制响应,需要设置参数一个
和TAU
他们的价值观1
和3.
,分别。
ypade22 =潜艇(ypade22,[tau],[1 3])
ypade22 =
绘制系统的响应y
从Padé近似计算的响应ypade22
.
fplot(y,[0 20])保持上fplot(ypade22,[0 20])网格上标题“Padé近似于死时间步进输入”传奇('响应死区时间步骤','padé近似[2 2]',...'位置',“最佳”);
的(2 - 2)
Padé近似不能很好地表示响应,因为在展开点处存在一个极点0
.提高准确性pade
当膨胀点有极点或零点时,设orderMode.
对相对和重复步骤的输入参数。有关详细信息,请参阅pade
.
steppade22reel = pade(步骤,'命令'(2 - 2),“OrderMode”,“相对”)
steppade22rel =
ypade22reel = hsol(s)* steppade22rel
yPade22Rel =
ypade22reel = ilaplace(ypade22rel);YPade22REL =潜艇(YPADE22REL,[A TAU],[1 3])
yPade22Rel =
fplot(ypade22rel,[020],“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(ILAPLACH(YPADE45));fplot(ypade45,[0 20],“DisplayName的”,'Padé approant [4 5]')
提出了以下几点:
Padé近似可以模拟死时间步长输入。
Padé近似的准确性随着近似顺序的增加而增加。
当在膨胀点存在极点或零点时,Padé近似关于膨胀点是不准确的。为了提高近似的准确性,设置orderMode.
选择相对
.你也可以用增加分母相对于分子的顺序。