zpk

创建zero-pole-gain模型;转换为零极增益模型

句法

sys = zpk (Z,磷、钾)
sys = zpk (Z, p、k、t)
sys = zpk (M)
SYS = ZPK(Z,P,K,ltisys)
S = ZPK( 'S')
z = zpk (' z ' Ts)
zsys = ZPK(SYS)
zsys = ZPK(SYS, '测量')
zsys = ZPK(SYS, '噪音')
zsys = zpk(sys, 'augmented')

描述

使用zpk打造零极点增益模型(zpk或将动态系统转换为零极增益形式。

创建零极增益模型

sys = zpk (Z,磷、钾)创建了零的连续时间零极点增益模型ž,波兰P和增益(S)ķ。输出sys是一个zpk存储模型数据的模型对象。

在SISO案例中,žP是实时或复数值的零点和极点的载体,以及ķ是实时或复数标量增益:

H 小号 = ķ 小号 ž 1 小号 ž 2 ... 小号 ž 小号 p 1 小号 p 2 ... 小号 p ñ

ž要么p[]对于没有零或极点的系统。这两个向量不需要有相等的长度,模型也不需要是合适的(也就是说,有多余的极点)。

要创建MIMO零极点增益模型,请指定该模型的每个SISO条目的零、极点和增益。在这种情况下:

  • žP向量的单元格数组是否与输出的行数和输入的列数相同ķ是一个具有与输出相同的行和输入相同的列的矩阵。

  • 向量ž{I,J}p {I,J}指定从输入的传递函数的零点和极点Ĵ输出一世

  • K(I,J)指定传递函数从输入的(标量)增益Ĵ输出一世

请参阅下面的MIMO示例。

sys = zpk (Z, p、k、t)创建一个离散时间零极点增益模型与样本时间Ts(马上)。组TS = -1要么Ts = []离开样品的时间不确定。输入参数žPķ如在连续时间的情况。

sys = zpk (M)指定一个静态增益中号

SYS = ZPK(Z,P,K,ltisys)创建一个从LTI模型继承与性质的零极点增益模型ltisys(包括采样时间)。

创建数组zpk模型对象,使用对于环,或者使用用于多维单元阵列žP的多维数组ķ

前面的任何语法都可以后跟属性名称/属性值对。

“属性名”的PropertyValue

每一对指定模型的一个特定属性,例如输入名称或输入延迟时间。的属性的详细信息zpk模型对象,见属性。请注意,

sys = zpk (Z, P、K Property1, Value1,…,“PropertyN”,家)

为下面的命令序列的快捷方式。

sys = zpk(Z,P,K) set(sys,'Property1',Value1,…,'PropertyN',ValueN)

在s或z中作为有理表达式的零极增益模型

您还可以使用有理式创建ZPK模型。要么做到这一点,第一种类型:

  • S = ZPK( 'S')要使用拉普拉斯变量中的有理函数来指定ZPK模型,小号

  • z = zpk (' z ' Ts)指定与采样时间ZPK模型Ts在离散时间变量中使用有理函数,ž

一旦您指定了这些变量中的任何一个,您就可以将ZPK模型直接指定为变量中的rational表达式小号要么ž输入您的传递函数为在任何一个理性的表达小号要么ž

转换为零极增益形式

zsys = ZPK(SYS)转换任意LTI模型syszero-pole-gain形式。输出zsys是一个ZPK对象。默认,zpk使用从状态空间转换为零极增益时计算零点。另外,

zsys = zpk (sys,“发票”)

使用状态空间模型的反演公式来计算零点。对于低增益的高阶模型,该算法速度较快,但精度较低小号= 0。

已识别模型的转换

所标识的模型由以下形式的输入 - 输出方程表示y(t) = Gu(t) + He(t),在那里u (t)是该组测量输入通道和e (t)表示噪声信道。如果Λ=我'表示噪声的协方差e (t),这个方程也可以写成Y(T)=谷(T)+ HLV(t)的,在那里COV(V(t))的= I

zsys = ZPK(SYS),或zsys = ZPK(SYS, '测量')转换标识的线性模型进ZPK形式的测量组件。sys是类型的模型IDSSidprocIDTFidpoly,或idgreyzsys表示üÿ

zsys = ZPK(SYS, '噪音')转换标识的线性模型进ZPK形式的噪声分量。它代表了噪声输入之间的关系,V(t)的和输出,y_noise = HL v(t)。噪声的输入通道属于InputGroup'噪声'。噪声输入通道的名称是V□的yname,在那里yname是相应的输出信道的名称。zsys具有一样多的输入为输出。

zsys = zpk(sys, 'augmented')将测量和噪声动力学转化为ZPK模型。zsys纽约+ν输入使第一个NU输入代表通道u (t)而通过通道其余表示噪声信道V(t)的zsys.InputGroup包含2个输入组,“测量”“噪音”zsys.InputGroup.Measured被设置为1:NUzsys.InputGroup.Noise被设置为ν+ 1:ν+纽约。zsys代表了方程y(t) = [G HL] [u;v)

小费

识别出的非线性模型无法被转换成一个ZPK系统。使用线性近似函数,如线性化linapp

变量的选择

至于转移功能,您可以指定在零极点增益模型显示可使用的变数。可用的选项包括小号(默认)和p连续时间模型,ž(默认),ž-1q-1(相当于ž-1), 要么q(相当于ž)离散时间模型。重新分配'变量'属性覆盖默认值。更改变量只影响零极点增益模型显示。

属性

zpk对象具有以下属性:

ž

系统零。

ž属性存储的传递函数的零(分子根)。对于SISO模型,ž是一个包含0的向量。对于MIMO型号纽约输出和ν输入,ž是一个纽约——- - - - - -ν每个输入/输出对的0向量的单元数组。

P

系统极点。

P属性存储传递函数极点(分母根)。对于SISO模型,P是含有两极的载体。对于MIMO型号纽约输出和ν输入,P是一个纽约——- - - - - -ν磁极为每个输入/输出对向量的单元阵列。

ķ

系统收益。

ķ属性存储传递函数的增益。对于SISO模型,ķ是标量值。对于MIMO型号纽约输出和ν输入,ķ是一个纽约——- - - - - -ν存储每个输入/输出对增益的矩阵。

DisplayFormat

指定的分子和分母多项式因式分解如何用于显示目的。

分子和分母多项式分别显示为第一级和第二级的因素的产物。DisplayFormat控制这些因素的显示。DisplayFormat可以取以下值:

  • “根”(默认)-根据多项式根的位置显示因子。

  • '频率'- 显示因素根自然频率计ω0和阻尼比ζ

    '频率'显示格式不适用于离散时间型号变量价值'Z ^ -1'要么“问^ 1”

  • 的时间常数- 显示因素根时间常数而言τ和阻尼比ζ

    的时间常数显示格式不适用于离散时间型号变量价值'Z ^ -1'要么“问^ 1”

对于连续时间模型,下表显示了如何多项式因子被写入在各显示格式。

DisplayName 一阶因子(实根[R 二阶因子(复根对[R=一个±JB
“根” 小号-[R 小号2-αs+β),其中α= 2一个β=一个2+b2
'频率' (1 -小号/ω0),其中ω0=[R 1 - 2ζ小号/ω0)+ (小号/ω02,在那里ω02=一个2+b2ζ=一个/ω0
的时间常数 (1 -τS),其中τ= 1 /[R 1 - 2ζτS)+ (τS2,在那里τ= 1 /ω0ζ=

对于离散时间模型,多项式因子写成连续时间的形式,变量替换如下:

小号 w ^ = ž 1 Ť 小号 ; [R [R 1 Ť 小号

在哪里Ť小号为采样时间。在离散时间,τω0近似匹配的时间常数和固有频率的等效连续时间根,提供|ž-1 |«Ť小号ω0«π/Ť小号=奈奎斯特频率)。

默认:“根”

变量

传递函数显示变量,指定为以下情况之一:

  • 'S'- 默认为连续时间模型

  • 'Z'-默认为离散时间模型

  • 'P'——相当于'S'

  • 'Q'——相当于'Z'

  • 'Z ^ -1'——逆'Z'

  • “问^ 1”——相当于'Z ^ -1'

的价值变量只影响的显示zpk模型。

默认:'S'

IODelay

运输延误。IODelay是一个数字数组,为每个输入/输出对指定单独的传输延迟。

对于连续时间系统中,存储在所述的时间单位指定传输延迟TimeUnit财产。对于离散时间系统,以样本时间的整数倍指定运输延迟,Ts

对于MIMO系统纽约输出和ν输入,设置IODelay到一个纽约——- - - - - -ν阵列。这个阵列的每个条目是表示用于相应的输入/输出一对传送延迟的数值。您还可以设置IODelay将相同的延迟应用于所有输入/输出对。

默认:0对所有的输入/输出对

InputDelay

每个输入通道的输入延迟,指定为标量值或数值向量。对于连续时间系统,在存储在的时间单元中指定输入延迟TimeUnit财产。对于离散时间系统,以采样时间的整数倍指定输入延迟Ts。例如,InputDelay = 3装置的三个采样时间的延迟。

对于具有系统ν输入,设置InputDelayν×1向量。该向量中的每个条目是表示用于相应输入通道的输入延迟的数值。

您还可以设置InputDelay一个标值应用相同的延迟到所有通道。

默认:0

OutputDelay

输出延迟。OutputDelay是一个数值向量指定为每个输出信道的时间延迟。对于连续时间系统中,存储在所述的时间单位指定输出延迟TimeUnit财产。对于离散时间系统中,指定的采样时间的整数倍的延迟输出Ts。例如,OutputDelay = 3装置的三个采样周期的延迟。

对于具有系统纽约输出,组OutputDelay纽约×1矢量,其中每个条目是表示用于相应的输出信道的输出延迟的数值。您还可以设置OutputDelay一个标值应用相同的延迟到所有通道。

默认:所有输出通道为0

Ts

采样时间。对于连续时间模型,TS = 0。对于离散时间模型,Ts是表示采样周期的正标量。属性指定的单位表示该值TimeUnit属性的模型。表示样本时间不指定的离散时间模型,设置TS = -1

更改此属性不会离散或重新取样模型。采用汇集D2C对连续 - 离散时间之间转换。采用D2D改变一个离散时间系统的采样时间。

默认:0(持续时间)

TimeUnit

时间变量的单位,采样时间Ts和模型中的任何时间延迟,指定为下列值之一:

  • “纳秒”

  • 微秒的

  • “毫秒”

  • “秒”

  • “分钟”

  • “小时”

  • “天”

  • “周”

  • “月”

  • “年”

更改此属性不会影响其他属性,因此会更改整个系统行为。采用chgTimeUnit时间单位之间的转换,而无需修改系统行为。

默认:“秒”

InputName

输入信道的名称,指定为以下情况之一:

  • 字符向量 - 对于单输入模式,例如,“控制”

  • 字符向量的单元阵列 - 对于多输入模型。

可替代地,使用自动向量扩展到多输入的模型分配输入名称。例如,如果sys是一个双输入模式,输入:

sys.InputName = '控制';

输入名称自动展开为{“控制(1)”,“控制”(2)}

您可以使用速记符号ü查阅InputName财产。例如,sys.u相当于sys.InputName

输入频道名称有多种用途,包括:

  • 模型显示和图形上确定信道

  • 提取MIMO系统的子系统

  • 在互连模型时指定连接点

默认:“”所有输入通道

InputUnit

输入信道单元,指定为以下情况之一:

  • 字符向量 - 对于单输入模式,例如,“秒”

  • 字符向量的单元阵列 - 对于多输入模型。

采用InputUnit跟踪输入信号单元。InputUnit对系统行为没有影响。

默认:“”所有输入通道

InputGroup

输入通道组。该InputGroup属性可以指定MIMO系统的输入通道进行分组,并通过名称来引用每个组。指定输入的基团的结构。在这种结构中,字段名是组名称和字段值是属于各组的输入通道。例如:

sys.InputGroup.controls = [1 2];sys.InputGroup.noise = [3-5];

创建输入组,名为控制噪声分别包括输入通道1、2和3、5。然后您可以从控制输入到使用所有输出:

SYS(:, '对照')

默认:没有域结构

OutputName

输出通道名称,指定为以下名称之一:

  • 特征向量 - 对于单输出模式。例如,'测量'

  • 字符向量的单元阵列 - 对于多输出模式。

可替代地,使用自动向量扩展为多输出模式分配输出名称。例如,如果sys为双输出模型,输入:

sys.OutputName = '测量';

输出名称自动展开为{ '测量(1)'; '测量(2)'}

您可以使用速记符号ÿ查阅OutputName财产。例如,sys.y相当于sys.OutputName

输出通道的名称有多种用途,包括:

  • 模型显示和图形上确定信道

  • 提取MIMO系统的子系统

  • 在互连模型时指定连接点

默认:“”对于所有输出通道

OutputUnit

输出信道单元,指定为以下情况之一:

  • 特征向量 - 对于单输出模式。例如,“秒”

  • 字符向量的单元阵列 - 对于多输出模式。

采用OutputUnit跟踪输出信号单元。OutputUnit对系统行为没有影响。

默认:“”对于所有输出通道

OutputGroup

输出信道组。该OutputGroup属性允许您将MIMO系统的输出通道分配到组中,并按名称引用每个组。将输出组指定为结构。在这个结构中,字段名是组名,字段值是属于每个组的输出通道。例如:

sys.OutputGroup。温度=[1];sys.InputGroup。测量=[3五];

创建一个名为输出组温度测量其中分别包括输出通道1和3、5。然后您可以将子系统从所有的输入提取到测量输出使用:

系统(“测量”,:)

默认:没有域结构

的名字

系统名称,指定为字符向量。例如,“system_1”

默认:“”

笔记

希望与系统关联的任何文本,存储为字符向量的字符串或单元格数组。该属性存储您提供的任何数据类型。例如,如果sys1sys2是动态的系统模型,你可以设置自己的笔记属性如下:

sys1。笔记=“sys1有一个字符串。”;sys2。笔记=sys2有一个字符向量;sys1。笔记sys2。笔记
ANS = “SYS1有一个字符串”。ANS =“SYS2具有字符向量”。

默认:(0×1的字符串)

用户数据

要与系统关联的任何类型的数据,指定为任何MATLAB®数据类型。

默认:[]

SamplingGrid

模型数组的采样网格,指定为数据结构。

对于由采样一个或多个自变量导出模型阵列,此属性跟踪与阵列中的每个模型相关联的变量的值。当您显示或绘制模型数组时,将显示此信息。利用这些信息将结果追溯到独立变量。

将数据结构的字段名称设置为采样变量的名称。将字段值设置为与数组中每个模型相关联的抽样变量值。所有的采样变量应该是数值和标量值,所有的采样值数组应该与模型数组的维数相匹配。

例如,假设在创建11×1阵列线性模型,sysarr通过在次服用的线性时变系统的快照T = 0:10。下面的代码使用线性模型存储时间样本。

sysarr。SamplingGrid =结构(“时间”0:10)

类似地,假设你创建了一个6乘9的模型数组,中号,通过独立地采样两个变量ζw ^。以下代码将在(ζ,w)中号

的ζ,W] = ndgrid(<ζ电的6个值>,)M.SamplingGrid =结构(“ζ”ζ,'W'w)

当您显示中号中,阵列中的每个条目包括对应的ζw ^值。

中号
(::1,- 1)(ζ= 0.3 w = 5) = 25 - - - - - - - - - - - - - - - - s ^ 2 + 3 s + 25米(:,:,2,1)(ζ= 0.35 w = 5) = 25 - - - - - - - - - - - - - - - - - s ^ 2 + 3.5 s + 25…

对于由线性化的Simulink生成的模型阵列金宝app®模型在多个参数值或操作点,软件填充SamplingGrid与数组中每个条目对应的变量值自动匹配。例如,金宝app仿真软件控制设计™命令线性化slLinearizer填入SamplingGrid通过这种方式。

默认:[]

例子

实施例1

创建连续时间SISO传递函数:

H 小号 = 2 小号 小号 1 + Ĵ 小号 1 Ĵ 小号 2

创建H小号)作为zpk对象使用:

h = zpk(0, [1-i 1+i 2], -2);

实施例2

指定下列一输入、二输出零极增益模型:

H ž = [ 1 ž 0.3 2 ž + 0.5 ž 0.1 + Ĵ ž 0.1 Ĵ ]

要做到这一点,请输入:

Z = {[];-0.5};P = {0.3;(0.1 + i 0.1 - i)};K = [1;2);H = zpk (Z, P、K 1);未指定样本时间%

实施例3

转换的传递函数

h = tf([-10 20 0],[1 7 20 28 19 5]);

零极点增益形式,使用:

ZPK(H)

这个命令返回结果:

零/极/增益:-10 S(S-2)----------------------(S + 1)^ 3(S ^ 2 + 4S +5)

实施例4

根据变量中的rational表达式创建离散时间ZPK模型ž

z = zpk (“z”, 0.1);H = (z + 1) * (z + 2) / (z ^ 2 + 6 * z + .09点)

该命令返回以下结果:

零/极/增益:(Z + 0.1)(Z + 0.2)---------------(Z + 0.3)^ 2采样时间:0.1

实施例5

创建一个天线zpk模型使用零和极点的单元格数组。

创建双输入双输出零极增益模型

H 小号 = [ 1 小号 3 小号 + 小号 + 1 2 2 小号 2 2 小号 + 2 小号 1 小号 2 小号 3 0 ]

通过输入:

[1-i 1+i] []};P = {0,[-1 -1];K = [-1 3;2 0];H = zpk (Z,磷、钾);

采用[]作为一个占位符ž要么P对应的条目时H小号)没有零或极点。

实施例6

提取已识别多项式模型的测量和噪声成分到两个单独的ZPK模型中。前者(被测部件)可以作为被测对象模型,后者可以作为控制系统设计的扰动模型。

加载内燃机整机Z = IDDATA(Y,U,0.04);NB = 2;NF = 2;NC = 1;ND = 3;NK = 3;SYS = BJ(Z,[NB NC ND NF NK]);

sys是以下形式的模型,Y(T)= B / F U(T)+ C / d E(t)的,在那里B / F代表测得的组分和光盘的噪声成分。

sysMeas = ZPK(SYS, '测量')

另外,使用可以简单地使用zpk(系统)以提取测量组件。

sysNoise = zpk(sys, 'noise')

算法

zpk使用MATLAB功能转换传递函数和函数转换状态空间模型。

R2006a前推出