pole MATLAB_help文档DeepSeek翻译
pole
动态系统的极点
语法
P = pole(sys)
P = pole(sys,J1,…,JN)
说明
P = pole(sys) 返回 SISO 或 MIMO 动态系统模型 sys 的极点。输出以 sys.TimeUnit 中指定的时间单位的倒数表示。动态系统的极点决定了系统的稳定性和响应。
开环线性时不变系统稳定的条件是:
- 在连续时间中,传递函数的所有极点都具有负实部。当极点在复 s 平面上可视化时,它们必须全部位于左半平面 (LHP) 才能确保稳定性。
- 在离散时间中,所有极点的幅值必须严格小于 1,即它们必须全部位于单位圆内。
P = pole(sys,J1,…,JN) 返回模型数组 sys 中下标为 (J1,…,JN) 的条目的极点 P。
示例
离散时间传递函数的极点
计算以下离散时间传递函数的极点:
sys(z)=0.04798z−0.0464z2−1.81z+0.9048sys(z) = \frac{0.04798z - 0.0464}{z^{2} - 1.81z + 0.9048}sys(z)=z2−1.81z+0.90480.04798z−0.0464
sys = tf([0.04798 0.0464],[1 -1.81 0.9048],0.1);
P = pole(sys)
P = 2×1 complex
0.9050 + 0.2929i
0.9050 - 0.2929i
对于稳定的离散系统,其所有极点的幅值必须严格小于 1,即它们必须全部位于单位圆内。本例中的极点是一对共轭复数,且位于单位圆内。因此,系统 sys 是稳定的。
传递函数的极点
计算以下传递函数的极点:
sys(s)=4.2s2+0.25s−0.004s2+9.6s+17sys(s) = \frac{4.2s^{2} + 0.25s - 0.004}{s^{2} + 9.6s + 17}sys(s)=s2+9.6s+174.2s2+0.25s−0.004
sys = tf([4.2,0.25,-0.004],[1,9.6,17]);
P = pole(sys)
P = 2×1
-7.2576
-2.3424
对于稳定的连续系统,其所有极点必须具有负实部。sys 是稳定的,因为极点为负,即它们位于复平面的左半部分。
数组中模型的极点
对于此示例,加载 invertedPendulumArray.mat,其中包含一个 3×3 的倒立摆模型数组。当您沿着 sys 的单个列从一个模型移动到另一个模型时,摆的质量会发生变化;当您沿着单个行移动时,摆的长度会发生变化。使用的质量值为 100g、200g 和 300g,使用的摆长分别为 3m、2m 和 1m。
Column 1Column 2Column 3Row 1100g,3m100g,2m100g,1mRow 2200g,3m200g,2m200g,1mRow 3300g,3m300g,2m300g,1m \begin{array}{cccc} & \text{Column 1} & \text{Column 2} & \text{Column 3} \\ \text{Row 1} & 100g,3m & 100g,2m & 100g,1m \\ \text{Row 2} & 200g,3m & 200g,2m & 200g,1m \\ \text{Row 3} & 300g,3m & 300g,2m & 300g,1m \\ \end{array} Row 1Row 2Row 3Column 1100g,3m200g,3m300g,3mColumn 2100g,2m200g,2m300g,2mColumn 3100g,1m200g,1m300g,1m
load(‘invertedPendulumArray.mat’,‘sys’);
size(sys)
3x3 传递函数数组。
每个模型有 1 个输出和 1 个输入。
查找模型数组的极点。
P = pole(sys);
P(:,:,2,1)
ans = 3×1
2.1071
-2.1642
-0.1426
P(:,:,2,1) 对应于摆锤重量为 200g、长度为 3m 的模型的极点。
输入参数
sys — 动态系统
动态系统模型 | 模型数组
动态系统,指定为 SISO 或 MIMO 动态系统模型,或 SISO 或 MIMO 动态系统模型的数组。可以使用的动态系统包括连续时间或离散时间数值 LTI 模型,例如 tf、zpk 或 ss 模型。
如果 sys 是广义状态空间模型 genss 或不确定状态空间模型 uss,则 pole 返回 sys 的当前值或标称值的极点。如果 sys 是模型数组,则 pole 返回 sys 中下标为 J1,…,JN 的模型的极点。有关模型数组的详细信息,请参阅 Model Arrays。
J1,…,JN — 要提取极点的数组中模型的索引
正整数
要提取极点的数组中模型的索引,指定为正整数。您可以提供与 sys 中数组维度数量一样多的索引。例如,如果 sys 是一个 4×5 的动态系统模型数组,则以下命令提取数组中条目 (2,3) 的极点。
P = pole(sys,2,3);
输出参数
P — 动态系统的极点
列向量 | 数组
动态系统的极点,以标量或数组形式返回。如果 sys 是:
- 单个模型,则 P 是动态系统模型 sys 的极点列向量。
- 模型数组,则 P 是 sys 中每个模型的极点数组。
P 以 sys.TimeUnit 中指定的时间单位的倒数表示。例如,如果 sys.TimeUnit = ‘minutes’,则 pole 以 1/分钟 表示。
根据系统模型的类型,极点按以下方式计算:
- 对于状态空间模型,极点是 A 矩阵的特征值,或在描述符情况下是 A – λE 的广义特征值。
- 对于 SISO 传递函数或零极点增益模型,极点是分母的根。有关详细信息,请参阅 roots。
- 对于 MIMO 传递函数(或零极点增益模型),极点作为每个 SISO 条目的极点并集返回。如果某些 I/O 对具有公分母,则此类 I/O 对分母的根仅计数一次。
局限性
- 多重极点在数值上是敏感的,无法高精度计算。重数为 m 的极点 λ 通常会导致计算出的极点分布在以 λ 为中心、半径约为 ρ≈ε1/mρ ≈ ε^{1/m}ρ≈ε1/m 的圆上,其中 ε 是相对机器精度 (eps)。
有关多重极点的详细信息,请参阅 Sensitivity of Multiple Roots。
- 如果 sys 具有内部延迟,则通过首先将所有内部延迟设置为零来获得极点,以便系统具有有限数量的极点,从而创建零阶帕德近似。对于某些系统,将延迟设置为零会创建奇异的代数环,从而导致零延迟近似不当或定义不明确。对于这些系统,pole 会返回错误。
要评估具有内部延迟的模型的稳定性,请使用 step 或 impulse。
版本历史记录
在 R2006a 之前推出
另请参阅
damp | esort | dsort | pzmap | zero | step | impulse | pzplot
主题
- Pole and Zero Locations
- Sensitivity of Multiple Roots
版权标注与来源说明
本文译文对应的原文内容,均来源于 MathWorks 官方网站(https://www.mathworks.com/)及官方帮助中心,原文版权均独家归属MathWorks 公司所有。
译文系基于原文进行的非官方翻译,仅为方便个人学习、理解MathWorks相关产品(含MATLAB等)的功能、操作及技术细节而制作,不代表MathWorks公司官方立场,也不构成官方翻译版本。
建议使用者优先查阅官方原文。
更多推荐



所有评论(0)