Main Content

zero

SISO 动态系统的零点和增益

说明

示例

Z = zero(sys) 返回单输入单输出 (SISO) 动态系统模型 sys 的零点。输出表示为在 sys.TimeUnit 中指定的时间单位的倒数。

示例

[Z,gain] = zero(sys) 还返回 sys 的零极点增益。

示例

[Z,gain] = zero(sys,J1,...,JN) 返回模型数组 sys 中下标为 J1,...,JN 的各项的零点和增益。

示例

全部折叠

计算以下传递函数的零点:

sys(s)=4.2s2+0.25s-0.004s2+9.6s+17

sys = tf([4.2,0.25,-0.004],[1,9.6,17]);
Z = zero(sys)
Z = 2×1

   -0.0726
    0.0131

计算以下传递函数的零点位置和零极点增益:

sys(s)=4.2s2+0.25s-0.004s2+9.6s+17

sys = tf([4.2,0.25,-0.004],[1,9.6,17]);
[z,gain] = zero(sys)
z = 2×1

   -0.0726
    0.0131

gain = 4.2000

零点位置以 second-1 表示,因为传递函数的时间单位 (H.TimeUnit) 是秒。

对于此示例,请加载一个由传递函数模型组成的 3×1 数组。

load('tfArray.mat','sys');
size(sys)
3x1 array of transfer functions.
Each model has 1 outputs and 1 inputs.

求出数组中模型的零点和增益值。

[Z, gain] = zero(sys);
Z(:,:,1,1)
ans =

  0x1 empty double column vector
gain(:,:,1,1)
ans = 1

zero 返回分别对应于零点和增益值的数组。此处,Z(:,:,1,1)gain(:,:,1,1) 对应于数组中第一个模型(即 sys(:,:,1,1))的零点和增益值。

输入参数

全部折叠

动态系统,指定为一个 SISO 动态系统模型或 SISO 动态系统模型数组。您可以使用的动态系统包括连续时间或离散时间数值 LTI 模型,如 tfzpkss 模型。

如果 sys 是广义状态空间模型 genss 或不确定状态空间模型 uss,则 zero 返回 sys 的当前值或标称值的零点。如果 sys 是模型数组,则 zero 返回与 sys 中的下标 J1,...,JN 对应的模型的零点。有关模型数组的详细信息,请参阅模型数组

数组中要提取其零点的模型的索引,指定为正整数。您可以提供与 sys 中的数组维度数一样多的索引。例如,如果 sys 是一个由动态系统模型组成的 4×5 数组,以下命令将提取该数组中条目 (2,3) 的零点。

Z = zero(sys,2,3);

输出参量

全部折叠

动态系统的零点,以列向量或数组形式返回。如果 sys 为:

  • 单个模型,则 Z 是由动态系统模型 sys 的零点组成的列向量

  • 模型数组,则 Z 是包含 sys 中每个模型的零点的数组

Z 表示为在 sys.TimeUnit 中指定的时间单位的倒数。例如,如果 sys.TimeUnit = 'minutes',则零点以 1/minute 表示。

动态系统的零极点增益,以标量形式返回。换句话说,当模型以 zpk 形式编写时,gainK 的值。

提示

  • 如果 sys 有内部延迟,则 zero 将所有内部延迟设置为零,从而创建零阶帕德逼近。此逼近确保系统具有有限数量的零点。如果将内部延迟设置为零会产生奇异代数环,则 zero 返回错误。要评估具有内部延迟的模型的稳定性,请使用 stepimpulse

  • 要计算多输入多输出 (MIMO) 系统的传输零点,请使用 tzero

版本历史记录

在 R2006a 之前推出