Padé延时输入的近似
这个例子展示了如何在控制系统理论中使用Padé近似来模拟一阶系统响应中的时间延迟。时间延迟出现在化学和运输过程等系统中,其中输入和系统响应之间存在延迟。当对这些输入建模时,它们被称为死时输入。
本例使用符号数学工具箱™求解一阶系统的传递函数,并使用Padé近似值找到系统对死时间步长输入的响应。本例以符号方式执行计算以获得分析结果。
简介
阶的Padé近似(m, n)
近似函数f (x)
周围
作为
Padé近似值是由两个幂级数的比值构成的有理函数。因为它是一个有理函数,在用极点逼近函数时,它比泰勒级数更精确。Padé近似值由Symbolic Math Toolbox™函数表示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 = s(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)
并使用sub来替换y (s) / xS (s)
与H(年代)
.
F = F/xS(s);F = subs(F,yS(s)/xS(s),H(s))
F =
解的方程H(年代)
.代替H(年代)
有一个虚拟变量,用solve求解该虚拟变量,并将解赋给Hsol (s)
.
F = subs(F,H(s),tmp);Hsol(s) = solve(F,tmp)
Hsol =
求系统对时滞步进输入的响应
一阶系统的输入是时滞阶跃输入。要表示一个步进输入,使用亥维赛
.将输入延迟三个时间单位。求拉普拉斯变换拉普拉斯
.
Step = heaviside(t - 3);Step =拉普拉斯(步)
一步=
求系统的响应,也就是传递函数和输入的乘积。
y = Hsol(s)*step
y =
要允许绘制响应,请设置参数一个
而且τ
到特定的值。为一个
而且τ
,选择值1
而且3.
,分别。
Y = subs(Y,[a tau],[1 3]);Y = ilaplace(Y,s);
使用Padé近似值查找系统响应
求阶的Padé近似(2 - 2)
使用Order input参数的步进输入pade
.
stepPade22 = pade(step,“秩序”(2 - 2))
stepPade22 =
通过将传递函数与输入的Padé近似值相乘,找到输入的响应。
yPade22 = Hsol(s)*stepPade22
yPade22 =
求。的拉普拉斯逆变换yPade22
使用ilaplace
.
yPade22 = ilaplace(yPade22,s)
yPade22 =
要绘制响应,请设置参数一个
而且τ
他们的价值观1
而且3.
,分别。
yPade22 = subs(yPade22,[a tau],[1 3])
yPade22 =
画出系统的响应y
和由Padé近似计算的响应yPade22
.
Fplot (y,[0 20])暂停在fplot(yPade22,[0 20])网格在标题“Padé死区步长输入近似”传奇(对死时间步长输入的响应,“Padé approximate[2 2]”,...“位置”,“最佳”);
使用OrderMode增加Padé近似值的精度
的(2 - 2)
Padé近似不能很好地表示响应,因为在的膨胀点存在一个极点0
.提高…的准确性pade
当扩展点有极点或零点时,设置OrderMode
输入参数到相对并重复上述步骤。详细信息请参见pade
.
stepPade22Rel = pade(step,“秩序”(2 - 2),“OrderMode”,“相对”)
stepPade22Rel =
yPade22Rel = Hsol(s)* stepppade22rel
yPade22Rel =
yPade22Rel = ilaplace(yPade22Rel);yPade22Rel = subs(yPade22Rel,[a tau],[1 3])
yPade22Rel =
fplot(yPade22Rel, [0 20],“DisplayName的”,“相对Padé近似[2 2]”)
通过增加阶数来增加Padé近似的精度
您可以通过增加Padé近似值的阶数来提高其准确性。增加订单为5 [4]
重复以上步骤。的n (n - 1)
Padé近似更好地逼近响应T = 0
比[n n]
Pade近似值。
stepPade45 = pade(step,“秩序”[4 - 5])
stepPade45 =
yPade45 = Hsol(s)*stepPade45
yPade45 =
yPade45 = subs(yPade45,[a tau],[1 3])
yPade45 =
求。的拉普拉斯逆变换yPade45
使用ilaplace
.近似yPade45
数值使用vpa
.绘制从Padé近似值计算出的响应yPade45
.
yPade45 = vpa(ilaplace(yPade45));fplot(yPade45, [0 20],“DisplayName的”,“Padé approximate[4 5]”)
结论
已经说明了以下几点:
Padé近似值可以模拟死区步长输入。
Padé近似值的准确性随着近似值阶数的增加而增加。
当膨胀点上存在极点或零点时,Padé近似对膨胀点是不准确的。若要增加近似的准确性,请设置
OrderMode
选项相对
.你也可以用增加分母相对于分子的阶数。