主要内容

动态系统

描述

example

P= pole(sys)返回SISO或MIMO的电线杆dynamic system modelsys。The output is expressed as the reciprocal of the time units specified insys.TimeUnit。动态系统的极点确定了系统的稳定性和响应。

An open-loop linear time-invariant system is stable if:

  • 在连续的时间内,转移函数的所有极点都具有负实际零件。当两极在复合物S平面上可视化时,它们都必须全部位于左半平面(LHP)中以确保稳定性。

  • In discrete-time, all the poles must have a magnitude strictly smaller than one, that is they must all lie inside the unit circle.

example

P= pole(sys,J1,...,JN)returns the polesPof the entries in model arraysyswith subscripts(J1,...,JN)

Examples

collapse all

计算以下离散时间传输函数的极点:

s y s ( z ) = 0 0 4 7 8 z - 0 0 4 6 4 z 2 - 1 8 1 z + 0 9 0 4 8

sys = tf([0.04798 0.0464],[1 -1.81 0.9048],0.1); P = pole(sys)
P =2×1complex0.9050 + 0.2929i 0.9050-0.2929i

对于稳定的离散系统,其所有极点都必须严格小于一个幅度,也就是说,它们都必须都位于单元圆内。该示例中的极点是一对复杂的共轭物,并位于单元圆内。因此,系统sysis stable.

Calculate the poles of following transfer function:

s y s ( s ) = 4 2 s 2 + 0 2 5 s - 0 0 0 4 s 2 + 9 6 s + 1 7

sys = tf([4.2,0.25,-0.004],[1,9.6,17]); P = pole(sys)
P =2×1-7.2576 -2.3424

For stable continuous systems, all their poles must have negative real parts.sys是稳定的,因为两极是负的,也就是说,它们位于复杂平面的左半部分。

For this example, loadinvertedPendulumArray.mat,其中包含一个3 x 3数阵列的倒摆模型。当您沿着单个列从模型转移到模型时,摆的质量会有所不同sys, and the length of the pendulum varies as you move along a single row. The mass values used are 100g, 200g and 300g, and the pendulum lengths used are 3m, 2m and 1m respectively.

C o l u m n 1 C o l u m n 2 C o l u m n 3 R o w 1 1 0 0 g , 3 m 1 0 0 g , 2 m 1 0 0 g , 1 m R o w 2 2 0 0 g , 3 m 2 0 0 g , 2 m 2 0 0 g , 1 m R o w 3 3 0 0 g , 3 m 3 0 0 g , 2 m 3 0 0 g , 1 m

load('invertedPendulumArray.mat',“系统”);尺寸(系统)
3x3 array of transfer functions. Each model has 1 outputs and 1 inputs.

查找模型数组的极点。

p =极点(sys);P(:,:,2,1)
ans =3×12.1071 -2.1642 -0.1426

P(:,:,2,1)对应于具有200克摆重量和3m长度的模型的杆子。

Input Arguments

collapse all

动态系统,指定为SISO或MIMO动态系统模型,或一系列SISO或MIMO动态系统模型。您可以使用的动态系统包括连续时间或离散时间数字LTI模型,例如tf,ZPK, orssmodels.

Ifsysis a generalized state-space modelgenss或者an uncertain state-space modelUSS,返回电流或名义值的极点sys。Ifsysis an array of models,returns the poles of the model corresponding to its subscriptJ1,...,JNinsys。For more information on model arrays, seeModel Arrays

在数组中的模型索引,您要提取的极线(指定为正整数)。您可以提供与数组尺寸一样多的索引sys。例如,如果sysis a 4-by-5 array of dynamic system models, the following command extracts the poles for entry (2,3) in the array.

P = pole(sys,2,3);

Output Arguments

collapse all

Poles of the dynamic system, returned as a scalar or an array. Ifsysis:

  • 然后一个模型Pis a column vector of poles of the dynamic system modelsys

  • A model array, thenPis an array of poles of each model insys

P表示为指定的时间单位的倒数sys.TimeUnit。For example, pole is expressed in 1/minute ifsys.TimeUnit='minutes'

Depending on the type of system model, poles are computed in the following way:

  • For state-space models, the poles are the eigenvalues of theAmatrix, or the generalized eigenvalues ofAλe在描述符中。

  • 对于SISO传输函数或零极细胞模型,极是分母根。有关更多信息,请参阅

  • For MIMO transfer functions (or zero-pole-gain models), the poles are returned as the union of the poles for each SISO entry. If some I/O pairs have a common denominator, the roots of such I/O pair denominator are counted only once.

限制

  • Multiple poles are numerically sensitive and cannot be computed with high accuracy. A poleλ具有多重性mtypically results in a cluster of computed poles distributed on a circle with centerλand radius of order

    ρ ε 1 / m ,

    where ε is the relative machine precision (eps).

    有关多个电线杆的更多信息,请参阅Sensitivity of Multiple Roots

  • Ifsys有内部延迟,首先将所有内部延迟设置为零,从而获得了极点,以使系统具有有限数量的极点,从而创建零级的PADé近似。对于某些系统,将延迟设置为零会产生单数代数循环,从而导致不正确或不明显的零延迟近似值。对于这些系统,returns an error.

    为了评估内部延迟的模型的稳定性,请使用step或者impulse

在R2006a之前引入