此示例显示如何在控制系统理论中使用Padé近似,以在一阶系统的响应中模拟时间延迟。在诸如化学和传输过程之类的系统中产生的时间延迟,其中输入和系统响应之间存在延迟。当这些输入进行建模时,它们被称为停止时间输入。
这个例子使用了Symbolic Math Toolbox™来求解一阶系统的传递函数,并使用Padé近似法求出系统对死时间步长输入的响应。这个例子符号化地执行计算以获得解析结果。
Padé近似的顺序(m, n)
近似函数f(x)
周围
作为
Padé近似是由两个功率系列的比率形成的合理功能。因为它是一个合理的功能,所以它比泰勒序列更加准确,在近似恒定的恒定函数。Padé近似由符号数学工具箱™功能表示舞
.
当杆或零存在于扩展点时 ,皮肤近似的准确性降低。为了提高准确性,使用替代形式的Padé近似
这舞
函数在设置时返回Padé近似的替代形式OrderMode
输入论点相对的
.
该微分方程描述了一阶系统的行为
在MATLAB®中输入微分方程。
Syms.τ一种x(t)y (t)xS (s)y (s)H(s)tmpF = tau*diff(y)+y = a*x;
求它的拉普拉斯变换F
使用拉普拉斯
.
F =拉普拉斯(F, t, s)
f =
假设系统的响应为t = 0
是0.
.采用subs
替代Y(0)= 0
.
F =潜艇(F, y (0), 0)
f =
要收集常用术语,请使用简化
.
f =简化(f)
f =
为了可读性,更换Laplace变换x(t)
和y (t)
与xS (s)
和y (s)
.
f =子(f,[laplace(x(t),t,s)laplace(y(t),t,s)],[xs(s)ys])
f =
传递函数的拉普拉斯变换是ys(s)/ xs
.等式两边同时除以xS (s)
并使用潜艇替换ys(s)/ xs
与H(s)
.
F = F / xS(年代);F =潜艇(F, y (s) / xS (s), H (s))
f =
解方程为H(s)
.代替H(s)
用一个虚拟变量,用solve求解虚拟变量,并赋值给Hsol (s)
.
F =潜艇(F、H (s), tmp);Hsol (s) =解决(F, tmp)
hsol(s)=
一阶系统的输入是一个时滞阶跃输入。若要表示阶跃输入,请使用沉重的
.将输入延迟三个时间单位。找到拉普拉斯变换使用拉普拉斯
.
步骤=沉重(T - 3);步骤=拉普拉斯(步骤)
一步=
求系统的响应,它是传递函数和输入的乘积。
y = hsol(s)*步骤
y =
允许绘制响应,设置参数一种
和τ
特定的值。为一种
和τ
,选择值1
和3.
, 分别。
Y = subs(Y,[a tau],[1 3]);y = ilaplace (y,年代);
找到padé致辞的近似[2]
的顺序输入参数舞
.
steppade22 = pade(步骤,“秩序”,[2 2])
stepPade22 =
通过将传递函数与输入的Padé近似值相乘,找到对输入的响应。
* stepPade22 yPade22 = Hsol(年代)
yPade22 =
求拉普拉斯逆变换yPade22
使用ilaplace.
.
ypade22 = ilaplace(ypade22,s)
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]
Padé近似不代表响应良好,因为杆存在于扩展点0.
.提高…的准确性舞
当扩展点有杆或零时,设置OrderMode
输入参数,并重复上述步骤。有关详细信息,请参见舞
.
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,'显示名称'那'相对padé近似[2 2]')
您可以通过增加Padé近似值的顺序来提高其准确性。增加订单到[4 5]
然后重复这些步骤。这[n-1 n]
Padé近似值近似响应更好t = 0
比[n n]
Padé近似。
steppade45 = pade(步骤,“秩序”[4 - 5])
stepPade45 =
ypade45 = hsol(s)* steppade45
yPade45 =
ypade45 =潜艇(ypade45,[tau],[1 3])
yPade45 =
求拉普拉斯逆变换ypade45
使用ilaplace.
.近似ypade45
数值使用VPA.
.绘制从Padé近似值计算的响应ypade45
.
yPade45 = vpa (ilaplace (yPade45));fplot (yPade45 20] [0,'显示名称'那'Padé近似[4 5]')
已显示以下几点:
Padé近似值可以模拟死区时间步进输入。
Padé近似值的准确性随着近似值顺序的增加而增加。
当在扩展点处存在极点或零时,拟壳近似对扩展点不准确。为了提高近似的准确性,请设置OrderMode
选项相对的
.您还可以使用增加分母相对于分子的顺序。