Pade近似值
Padé近似的顺序[米,n]近似函数f(x周围)x=x0作为
Padé近似值是由两个幂级数的比值构成的有理函数。由于它是一个有理函数,在近似带极点的函数时,它比泰勒级数更精确。Padé近似值由符号数学工具箱™函数表示pade
.
当膨胀点存在一个极点或零时x=x0时,Padé近似的精度降低。为了提高精确度,可以使用Padé近似的另一种形式,即
的pade
函数返回Padé近似值的替代形式OrderMode
的输入参数相对
.
在控制系统理论中使用Padé近似来建模系统响应中的时滞。在化学和运输过程等系统中,输入和系统响应之间存在延迟,因此会出现时间延迟。当这些输入被建模时,它们被称为死时间输入。这个例子展示了如何使用符号数学工具箱来建模一阶系统对死时间输入的响应,使用Padé近似值。
一阶系统的行为用这个微分方程来描述
在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 =
为了可读性,替换的拉普拉斯变换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(s);F = sub (F,yS(s)/xS(s),H(s))
F =
解方程H(年代)
.代替H(年代)
有一个虚拟变量,求解虚拟变量用解决
,并将解决方案分配回H(年代)
.
F = subs(F,H(s),tmp);H(s) = solve(F,tmp)
H (s) =
一阶系统的输入是时滞阶跃输入。要表示步进输入,使用亥维赛
.将输入延迟三个时间单位。求拉普拉斯变换拉普拉斯
.
Step = heaviside(t - 3);Step =拉普拉斯(Step)
一步=
求系统的响应,它是传递函数和输入的乘积。
y = H(s)*步长
y =
要允许绘制响应,请设置参数一个
而且τ
他们的价值观。为一个
而且τ
,选择值1
而且3.
,分别。
Y = sub (Y,[a tau],[1 3]);Y = ilaplace(Y,s);
找到Padé的近似顺序(2 - 2)
的步骤输入的订单
的输入参数pade
.
stepppade22 = pade(step,“秩序”(2 - 2))
stepPade22 =
通过将传递函数与输入的近似Padé相乘,求出对输入的响应。
yPade22 = H(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 yPade22],[0 20]) title(“死时间步进输入的Pade近似”)传说(“响应死时间步长输入”,...“Pade近似[2 2]”,...“位置”,“最佳”)
的(2 - 2)
的展开点存在极,因此Padé近似不能很好地表示响应0
.提高…的精确度pade
当膨胀点有极点或零时,设置OrderMode
的输入参数相对
然后重复上述步骤。详情请参见pade
.
stepppade22rel = pade(step,“秩序”(2 - 2),“OrderMode”,“相对”)
stepPade22Rel =
yPade22Rel = H(s)* stepppade22rel
yPade22Rel =
(yPade22Rel = ilaplace)
yPade22Rel =
yPade22Rel = sub (yPade22Rel,[a tau],[1 3])
yPade22Rel =
fplot (yPade22Rel 20] [0,“DisplayName的”,“相对Pade近似[2 2]”)
Padé近似的精度也可以通过增加其阶数来提高。增加订单到5 [4]
然后重复上述步骤。的n (n - 1)
Padé近似值在逼近响应时更好T = 0
比[n n]
Pade近似值。
stepppade45 = pade(step,“秩序”[4 - 5])
stepPade45 =
yPade45 = H(s)*stepPade45
yPade45 =
yPade45 = subs(yPade45,[a tau],[1 3])
yPade45 =
yPade45 = ilaplace(yPade45)
yPade45 =
yPade45 = vpa(yPade45)
yPade45 =
fplot (yPade45 20] [0,“DisplayName的”,“Pade近似[4 5]”)
已经说明了以下几点:
Padé近似值可以模拟死时步长输入。
Padé近似值的准确性随着近似值顺序的增加而增加。
当膨胀点存在极或零时,关于膨胀点的Padé近似是不准确的。若要提高近似的精度,请设置
OrderMode
选项相对
.你也可以用增加分母相对于分子的阶数。