主要内容

Padé时延输入近似

这个例子展示了如何使用控制系统理论中的Padé逼近来模拟一阶系统响应中的时滞。时滞出现在系统中,例如在输入和系统响应之间存在时滞的化学和运输过程中。当这些输入被建模时,它们被称为死区时间输入。

这个例子使用了Symbolic Math Toolbox™来求解一阶系统的传递函数,并使用Padé近似法求出系统对死时间步长输入的响应。这个例子符号化地执行计算以获得解析结果。

介绍

Padé近似的顺序(m, n)近似函数f(x)周围 x = x 0

A. 0 + A. 1. ( x - x 0 ) + + A. M ( x - x 0 ) M 1. + B 1. ( x - x 0 ) + + B N ( x - x 0 ) N

Padé逼近是由两个幂级数之比构成的有理函数。由于它是有理函数,因此在用极点逼近函数时比Taylor级数更精确。Padé逼近由符号数学工具箱表示™ 作用帕德

当膨胀点存在极点或零点时 x = x 0 ,Padé逼近的精度降低。要提高精度,请使用另一种形式的Padé逼近,即

( x - x 0 ) P ( A. 0 + A. 1. ( x - x 0 ) + + A. M ( x - x 0 ) M ) 1. + B 1. ( x - x 0 ) + + B N ( x - x 0 ) N

这个帕德函数在设置OrderMode输入参数到相对的

求一阶系统的传递函数

一阶系统的行为由该微分方程描述

τ D Y ( T ) D T + Y ( T ) = A. x ( T )

在MATLAB®中输入微分方程。

符号τA.x(t)y (t)xS (s)y (s)H(s)tmpF = tau*diff(y)+y = a*x;

求它的拉普拉斯变换F使用拉普拉斯

F =拉普拉斯(F, t, s)
F=
                 
                  
                   
                    
                     
                      
                       
                        
                         
                          拉普拉斯
                        
                        
                         
                          (
                         
                          
                           
                            
                             
                              Y
                            
                            
                             
                              (
                             
                              
                               
                                T
                              
                             
                             
                              )
                            
                           
                           
                            ,
                           
                            T
                           
                            ,
                           
                            s
                          
                         
                         
                          )
                        
                       
                       
                        -
                       
                        
                         
                          τ
                         
                         
                         
                          
                           
                            
                             
                              
                               
                                Y
                              
                              
                               
                                (
                               
                                
                                 
                                  0
                                
                               
                               
                                )
                              
                             
                             
                              -
                             
                              
                               
                                s
                               
                               
                               
                                
                                 
                                  拉普拉斯
                                
                                
                                 
                                  (
                                 
                                  
                                   
                                    
                                     
                                      Y
                                    
                                    
                                     
                                      (
                                     
                                      
                                       
                                        T
                                      
                                     
                                     
                                      )
                                    
                                   
                                   
                                    ,
                                   
                                    T
                                   
                                    ,
                                   
                                    s
                                  
                                 
                                 
                                  )
                                
                               
                              
                             
                            
                           
                          
                         
                        
                       
                      
                     
                     
                      =
                     
                      
                       
                        A.
                       
                       
                       
                        
                         
                          拉普拉斯
                        
                        
                         
                          (
                         
                          
                           
                            
                             
                              x
                            
                            
                             
                              (
                             
                              
                               
                                T
                              
                             
                             
                              )
                            
                           
                           
                            ,
                           
                            T
                           
                            ,
                           
                            s
                          
                         
                         
                          )
                        
                       
                      
                     
                    
                   
                   
                    拉普拉斯(y (t), t, s) -τ* (y (0) - s *拉普拉斯(y (t), t, s)) = = *拉普拉斯(x (t), t, s)
                  
                 

假设系统的响应为t = 00使用潜艇代替y(0)=0

F =潜艇(F, y (0), 0)
F=
                 
                  
                   
                    
                     
                      
                       
                        
                         
                          拉普拉斯
                        
                        
                         
                          (
                         
                          
                           
                            
                             
                              Y
                            
                            
                             
                              (
                             
                              
                               
                                T
                              
                             
                             
                              )
                            
                           
                           
                            ,
                           
                            T
                           
                            ,
                           
                            s
                          
                         
                         
                          )
                        
                       
                       
                        +
                       
                        
                         
                          s
                         
                         
                         
                          τ
                         
                         
                         
                          
                           
                            拉普拉斯
                          
                          
                           
                            (
                           
                            
                             
                              
                               
                                Y
                              
                              
                               
                                (
                               
                                
                                 
                                  T
                                
                               
                               
                                )
                              
                             
                             
                              ,
                             
                              T
                             
                              ,
                             
                              s
                            
                           
                           
                            )
                          
                         
                        
                       
                      
                     
                     
                      =
                     
                      
                       
                        A.
                       
                       
                       
                        
                         
                          拉普拉斯
                        
                        
                         
                          (
                         
                          
                           
                            
                             
                              x
                            
                            
                             
                              (
                             
                              
                               
                                T
                              
                             
                             
                              )
                            
                           
                           
                            ,
                           
                            T
                           
                            ,
                           
                            s
                          
                         
                         
                          )
                        
                       
                      
                     
                    
                   
                   
                    拉普拉斯(y(t),t,s)+s*tau*laplace(y(t),t,s)==a*laplace(x(t),t,s)
                  
                 

要收集常用术语,请使用简化

F=简化(F)
F=
                 
                  
                   
                    
                     
                      
                       
                        
                         
                          
                           
                            
                             
                              s
                             
                             
                             
                              τ
                            
                           
                           
                            +
                           
                            1.
                          
                         
                        
                       
                       
                       
                       
                        
                         
                          拉普拉斯
                        
                        
                         
                          (
                         
                          
                           
                            
                             
                              Y
                            
                            
                             
                              (
                             
                              
                               
                                T
                              
                             
                             
                              )
                            
                           
                           
                            ,
                           
                            T
                           
                            ,
                           
                            s
                          
                         
                         
                          )
                        
                       
                      
                     
                     
                      =
                     
                      
                       
                        A.
                       
                       
                       
                        
                         
                          拉普拉斯
                        
                        
                         
                          (
                         
                          
                           
                            
                             
                              x
                            
                            
                             
                              (
                             
                              
                               
                                T
                              
                             
                             
                              )
                            
                           
                           
                            ,
                           
                            T
                           
                            ,
                           
                            s
                          
                         
                         
                          )
                        
                       
                      
                     
                    
                   
                   
                    (s*tau+1)*laplace(y(t),t,s)=a*laplace(x(t),t,s)
                  
                 

为便于阅读,请替换的拉普拉斯变换x(t)y (t)xS (s)y (s)

F=subs(F,[laplace(x(t),t,s)laplace(y(t),t,s)],[xS(s)yS(s)])
F=
                 
                  
                   
                    
                     
                      
                       
                        
                         
                          y
                        
                        
                         
                          (
                         
                          
                           
                            s
                          
                         
                         
                          )
                        
                       
                       
                       
                       
                        
                         
                          
                           
                            
                             
                              s
                             
                             
                             
                              τ
                            
                           
                           
                            +
                           
                            1.
                          
                         
                        
                       
                      
                     
                     
                      =
                     
                      
                       
                        A.
                       
                       
                       
                        
                         
                          xS
                        
                        
                         
                          (
                         
                          
                           
                            s
                          
                         
                         
                          )
                        
                       
                      
                     
                    
                   
                   
                    yS(s)*(s*tau+1)=a*xS(s)
                  
                 

传递函数的拉普拉斯变换是yS(s)/xS(s).等式两边同时除以xS (s)并用潜艇替换yS(s)/xS(s)H(s)

F = F / xS(年代);F =潜艇(F, y (s) / xS (s), H (s))
F=
                 
                  
                   
                    
                     
                      
                       
                        
                         
                          H
                        
                        
                         
                          (
                         
                          
                           
                            s
                          
                         
                         
                          )
                        
                       
                       
                       
                       
                        
                         
                          
                           
                            
                             
                              s
                             
                             
                             
                              τ
                            
                           
                           
                            +
                           
                            1.
                          
                         
                        
                       
                      
                     
                     
                      =
                     
                      A.
                    
                   
                   
                    H(s)*(s*tau + 1) == a
                  
                 

解方程为H(s).代替H(s)用一个虚拟变量,用solve求解虚拟变量,并赋值给Hsol (s)

F =潜艇(F、H (s), tmp);Hsol (s) =解决(F, tmp)
Hsol(s)=

A. s τ + 1. / (s *τ+ 1)

查找系统对延时阶跃输入的响应

一阶系统的输入是一个时滞阶跃输入。若要表示阶跃输入,请使用重熔. 将输入延迟三个时间单位。使用拉普拉斯

阶跃=垂向(t-3);阶跃=拉普拉斯(阶跃)
一步=

E - 3. s s exp(-3*s)/s

求系统的响应,它是传递函数和输入的乘积。

y=Hsol(s)*步骤
y=

A. E - 3. s s s τ + 1. (* exp ((3 * s))) / (s *(*τ+ 1))

要允许打印响应,请设置参数A.τ特定的值。为A.τ,选择值1.3.分别地

Y = subs(Y,[a tau],[1 3]);y = ilaplace (y,年代);

使用Padé近似求系统响应

求序的Padé逼近[2 2]的顺序输入参数帕德

步骤PADE22=pade(步骤,“秩序”,[2 2])
stepPade22 =

3. s 2. - 4. s + 2. 2. s s + 1. (3*s^2 - 4*s + 2)/(2*s*(s + 1))

通过将传递函数与输入的Padé近似值相乘,找到对输入的响应。

* stepPade22 yPade22 = Hsol(年代)
yPade22 =

A. 3. s 2. - 4. s + 2. 2. s s τ + 1. s + 1. (a*(3*s^2 - 4*s + 2))/(2*s*(s*tau + 1)*(s + 1))

求拉普拉斯逆变换yPade22使用伊拉普拉斯

yPade22=ilaplace(yPade22,s)
yPade22 =

A. + 9 A. E - s 2. τ - 2. - A. E - s τ 2. τ 2. + 4. τ + 3. τ 2. τ - 2. + (9 * * exp ((s))) /(信谊(2)*τ- 2)——(* exp ((s /τ))*(2 *τ^符号(2)+ sym(4) *τ+ 3))/(τ)*(信谊(2)*τ- 2))

要绘制响应,需要设置参数A.τ他们的价值观1.3.分别地

yPade22 = subs(yPade22,[a tau],[1 3])
yPade22 =

9 E - s 4. - 11 E - s 3. 4. + 1. (9*exp((-s)))/4 - (11*exp(((-s/3)))/4 + 1

绘制系统的响应Y以及通过Padé近似计算得到的响应yPade22

fplot (y, 20 [0])fplot(yPade22,[0 20])网格标题“死区时间步长输入的Padé逼近”传奇(“对死时间阶跃输入的响应”,'Padé approant [2 2]',...“位置”,“最好的”);

图中包含一个轴。标题为Padéapproximant的轴包含2个functionline类型的对象。这些对象表示对死区时间步输入Padéapproximant[2]的响应。

使用OrderMode增加Padé approant的准确性

这个[2 2]Padé近似不能很好地表示响应,因为在膨胀点存在极点0.提高…的准确性帕德当膨胀点有极点或零点时,设置OrderMode输入参数,并重复上述步骤。有关详细信息,请参见帕德

stepPade22Rel = pade(步骤,“秩序”,[2 2],“订单模式”,“亲戚”)
stepPade22Rel =

3. s 2. - 6. s + 4. s 3. s 2. + 6. s + 4. (3*s^2-6*s+4)/(3*s^2+6*s+4))

* stepPade22Rel yPade22Rel = Hsol(年代)
伊帕德雷=

A. 3. s 2. - 6. s + 4. s s τ + 1. 3. s 2. + 6. s + 4. (a*(3*s^2-6*s+4))/(s*(s*tau+1)*(3*s^2+6*s+4))

yPade22Rel = ilaplace (yPade22Rel);yPade22Rel = subs(yPade22Rel,[a tau],[1 3])
伊帕德雷=

12 E - T 因为 ( 3. T 3. ) + 2. 3. ( 3. T 3. ) 3. 7. - 19 E - T 3. 7. + 1. (12*exp(-t))*(cos((sqrt(sym(3))*t)/3)+(2*sqrt(sym(3))*sin((sqrt(sym(3))*t)/3))/7-(19*exp(-t/3))/7+1

fplot (yPade22Rel 20] [0,“显示名称”,“相对Padé逼近[2]”)

图中包含一个坐标轴。空时步进输入的标题为Padé近似的轴包含3个函数线类型的对象。这些对象代表对死时间步长输入的响应Padé approximation [2 2], Relative Padé approximation[2 2]。

通过增加订单来提高Padé近似的准确性

您可以通过增加Padé近似值的顺序来提高其准确性。增加订单到[4 5]然后重复这些步骤。这个[n-1 n]Padéapproximat更适合于在以下情况下近似响应:t = 0[n]帕德近似。

步骤PADE45=pade(步骤,“秩序”[4 - 5])
stepPade45 =

27 s 4. - 180 s 3. + 540 s 2. - 840 s + 560 s 27 s 4. + 180 s 3. + 540 s 2. + 840 s + 560 (27*s^4-180*s^3+540*s^2-840*s+560)/(27*s^4+180*s^3+540*s^2+840*s+560))

yPade45=Hsol(s)*步骤板45
yPade45 =

A. 27 s 4. - 180 s 3. + 540 s 2. - 840 s + 560 s s τ + 1. 27 s 4. + 180 s 3. + 540 s 2. + 840 s + 560 (* (27 * s ^ 4 - 180 * s ^ 3 + 540 * s ^ 2 - 840 * 560 (s +)) / (s *(*τ+ 1)*(* ^ 4 + 180 * 27日s ^ 3 + 540 * s ^ 2 + 840 * 560 (s +)))

yPade45=潜艇(yPade45,[a tau],[13])
yPade45 =

27 s 4. - 180 s 3. + 540 s 2. - 840 s + 560 s 3. s + 1. 27 s 4. + 180 s 3. + 540 s 2. + 840 s + 560 (27 * ^ 4 - 180 *年代^ 3 + 540 * s ^ 2 - 840 * 560 (s +) / (s * (3 * s + 1) *(* ^ 4 + 180 * 27日s ^ 3 + 540 * s ^ 2 + 840 * 560 (s +)))

求拉普拉斯逆变换伊帕德45使用伊拉普拉斯近似伊帕德45数字使用vpa.绘制从Padé近似值计算的响应伊帕德45

yPade45 = vpa (ilaplace (yPade45));fplot (yPade45 20] [0,“显示名称”,“Padé逼近[4 5]”)

图中包含一个轴。标题为Padéapproximant的轴包含functionline类型的4个对象。这些对象表示对死区时间步输入的响应,Padéapproximant[2 2],Relative Padéapproximant[2],Padéapproximant[4 5]。

结论

以下几点已显示出来:

  • Padé逼近可以模拟死区时间步长输入。

  • Padé近似值的准确性随着近似值顺序的增加而增加。

  • 当扩展点处存在极点或零点时,Padé近似值对于扩展点不准确。若要提高近似值的精度,请设置OrderMode选项相对的。您也可以使用增加分母相对于分子的顺序。