主要内容

zpk

Zero-pole-gain模型

    描述

    使用zpk创建零极增益模型,或者转换<一个href="//www.tatmou.com/de/de/help/control/ug/dynamic-system-models.html" class="a">动态系统模型变成零极增益形式。

    零极增益模型是传递函数的因式表示。例如,考虑以下连续时间SISO传递函数:

    G 年代 年代 2 3. 年代 4 年代 2 + 5 年代 + 6

    G (s)可分解为零极增益形式为:

    G 年代 年代 + 1 年代 4 年代 + 2 年代 + 3.

    SISO零极增益模型的更一般的表示如下:

    h 年代 k 年代 z 1 年代 z 2 ... 年代 z 年代 p 1 年代 p 2 ... 年代 p n

    在这里,z而且p向量是实值的还是复值的零和极点K是实值标量增益还是复值标量增益

    您可以通过直接指定极点、零点和增益,或者转换另一种类型的模型(例如状态空间模型)来创建零极点增益模型对象党卫军)到零极增益形式。

    你也可以使用zpk要创建广义状态空间(<一个href="//www.tatmou.com/de/de/help/control/ref/genss.genss.html">一族)模型或不确定状态空间(<一个href="//www.tatmou.com/de/de/help/robust/ref/uss.html">号航空母舰(鲁棒控制工具箱))模型。

    创建

    描述

    例子

    sys= zpk (<一个href="//www.tatmou.com/de/help/control/ref/#mw_9f1caac8-65c0-4fc1-a63a-e342b85af967" class="intrnllnk">0,<一个href="//www.tatmou.com/de/help/control/ref/#mw_a5447907-5b5c-4abf-8a7a-6383648578fe" class="intrnllnk">波兰人,<一个href="//www.tatmou.com/de/help/control/ref/#mw_00524e18-a026-4fbc-a6fb-8d302655cae1" class="intrnllnk">获得创建连续时间零极增益模型0而且波兰人的标量值获得.输出sys是一个zpk存储模型数据的模型对象。集0波兰人[]对于没有零和极点的系统。这两个输入不需要相等的长度,模型也不需要是合适的(也就是说,有过多的极点)。

    例子

    sys= zpk (<一个href="//www.tatmou.com/de/help/control/ref/#mw_9f1caac8-65c0-4fc1-a63a-e342b85af967" class="intrnllnk">0,<一个href="//www.tatmou.com/de/help/control/ref/#mw_a5447907-5b5c-4abf-8a7a-6383648578fe" class="intrnllnk">波兰人,<一个href="//www.tatmou.com/de/help/control/ref/#mw_00524e18-a026-4fbc-a6fb-8d302655cae1" class="intrnllnk">获得,<一个href="//www.tatmou.com/de/help/control/ref/#mw_5c01b831-87b7-44e8-9b4d-0c8b92bf1f42" class="intrnllnk">ts创建具有采样时间的离散零极增益模型ts.集ts-1[]不指定采样时间。

    例子

    sys= zpk (<一个href="//www.tatmou.com/de/help/control/ref/#mw_9f1caac8-65c0-4fc1-a63a-e342b85af967" class="intrnllnk">0,<一个href="//www.tatmou.com/de/help/control/ref/#mw_a5447907-5b5c-4abf-8a7a-6383648578fe" class="intrnllnk">波兰人,<一个href="//www.tatmou.com/de/help/control/ref/#mw_00524e18-a026-4fbc-a6fb-8d302655cae1" class="intrnllnk">获得,<一个href="//www.tatmou.com/de/help/control/ref/#mw_15036a11-8441-4968-8279-94aa619e7035" class="intrnllnk">ltiSys使用继承自动态系统模型的属性创建零极增益模型ltiSys,包括采样时间。

    例子

    sys= zpk (<一个href="//www.tatmou.com/de/help/control/ref/#mw_e00610f7-9eb1-4549-8f4e-3c3cd3bd3239" class="intrnllnk">创建一个表示静态增益的零极增益模型,

    例子

    sys= zpk (<年代p一个nclass="argument_placeholder">___、名称、值)集<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">属性对于前面的任何输入参数组合,使用一个或多个名称-值对参数的零极增益模型。

    例子

    sys= zpk (<一个href="//www.tatmou.com/de/help/control/ref/#mw_15036a11-8441-4968-8279-94aa619e7035" class="intrnllnk">ltiSys转换动态系统模型ltiSys零极增益模型。

    例子

    sys= zpk (<一个href="//www.tatmou.com/de/help/control/ref/#mw_15036a11-8441-4968-8279-94aa619e7035" class="intrnllnk">ltiSys,<一个href="//www.tatmou.com/de/help/control/ref/#mw_9c53a59c-df00-4f9c-b712-ee8b6c6ba699" class="intrnllnk">组件转换指定的组件ltiSys到零极增益模型形式。仅在以下情况下使用此语法ltiSys是一个确定的线性时不变(LTI)模型,如中的难点或者一个idtf模型。

    例子

    S = zpk(' S ')创建一个特殊变量年代你可以在理性表达式中使用它来创建一个连续时间零极增益模型。使用有理表达式有时比指定多项式系数更容易和更直观。

    例子

    Z = zpk(' Z ',<一个href="//www.tatmou.com/de/help/control/ref/#mw_5c01b831-87b7-44e8-9b4d-0c8b92bf1f42" class="intrnllnk">ts创建特殊变量z你可以在理性表达式中使用它来创建离散时间零极增益模型。若不指定采样时间,请设置ts输入参数-1

    输入参数

    全部展开

    零极增益模型的零点,具体为:

    • SISO模型的行向量。例如,使用(1、2 + 2 - 1)来创建一个有0在的模型S = 1S = 2+i,S = 2-i.有关示例,请参见<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">连续时间SISO零极增益模型.

    • 一个纽约——- - - - - -ν单元阵列的行向量,以指定MIMO零极增益模型,其中纽约输出的数量,和ν是输入的数量。有关示例,请参见<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">离散MIMO零极增益模型.

    例如,如果一个realp具有标称值的可调参数3.,那么你就可以使用了0 = [1 2 a]要创建一族用0来建模S = 1而且S = 2和一个可调的零点S = 3

    的属性zpk对象。这个输入参数设置属性的初始值<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">Z

    零极点增益模型的极点,具体为:

    • SISO模型的行向量。有关示例,请参见<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">连续时间SISO零极增益模型.

    • 一个纽约——- - - - - -ν单元阵列的行向量,以指定MIMO零极增益模型,其中纽约输出的数量和ν是输入的数量。有关示例,请参见<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">离散MIMO零极增益模型.

    的属性zpk对象。这个输入参数设置属性的初始值<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">P

    零极增益模型的增益,具体为:

    • 用于SISO模型的标量。有关示例,请参见<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">连续时间SISO零极增益模型.

    • 一个纽约——- - - - - -ν矩阵来指定MIMO零极增益模型,其中纽约输出的数量和ν是输入的数量。有关示例,请参见<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">离散MIMO零极增益模型.

    的属性zpk对象。这个输入参数设置属性的初始值<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">K

    采样时间,指定为标量。的属性zpk对象。这个输入参数设置属性的初始值<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html" class="intrnllnk">Ts

    动态系统,指定为SISO或MIMO<一个href="//www.tatmou.com/de/de/help/control/ug/dynamic-system-models.html" class="a">动态系统模型或者动态系统模型的数组。您可以使用的动态系统包括:

    • 连续时间或离散时间数值LTI模型,例如特遣部队,<一个href="//www.tatmou.com/de/de/help/control/ref/zpk.html">zpk,<一个href="//www.tatmou.com/de/de/help/control/ref/ss.html">党卫军,或<一个href="//www.tatmou.com/de/de/help/control/ref/pid.html">pid模型。

    • 广义的或不确定的LTI模型,如<一个href="//www.tatmou.com/de/de/help/control/ref/genss.genss.html">一族或<一个href="//www.tatmou.com/de/de/help/robust/ref/uss.html">号航空母舰(鲁棒控制工具箱)模型。(使用不确定模型需要鲁棒控制工具箱™许可证。)

      由此产生的零极增益模型假设

      • 可调控制设计块的可调组件的当前值。

      • 不确定控制设计块的标称模型值。

    • 确定的LTI模型,例如<一个href="//www.tatmou.com/de/de/help/ident/ref/idtf.html">idtf(系统识别工具箱),<一个href="//www.tatmou.com/de/de/help/ident/ref/idss.html">中的难点(系统识别工具箱),<一个href="//www.tatmou.com/de/de/help/ident/ref/idproc.html">idproc(系统识别工具箱),<一个href="//www.tatmou.com/de/de/help/ident/ref/idpoly.html">idpoly(系统识别工具箱),<一个href="//www.tatmou.com/de/de/help/ident/ref/idgrey.html">idgrey(系统识别工具箱)模型。要选择要转换的已识别模型的组件,请指定组件.如果您没有指定组件特遣部队默认情况下转换已识别模型的测量组件。<年代p一个n>(使用识别的模型需要系统识别工具箱™软件。)

      一个已识别的非线性模型不能转换为zpk模型对象。你可以首先使用线性逼近函数,比如线性化而且linapp(此功能需要系统识别工具箱软件。)

    静态增益,指定为标量或矩阵。系统的静态增益或稳态增益表示在稳态条件下输出与输入的比值。

    要转换的已识别模型的组件,指定为以下之一:

    • “测量”-转换的测量分量sys

    • “噪音”-转换的噪声成分sys

    • “增强”-转换的测量分量和噪声分量sys

    组件仅适用于以下情况sys是一个确定的LTI模型。

    有关确定的LTI模型及其测量和噪声成分的更多信息,请参见<一个href="//www.tatmou.com/de/de/help/control/ug/numeric-models.html" class="a">确定的LTI模型.

    输出参数

    全部展开

    输出系统模型,返回为:

    • 零极增益(zpk)模型对象,当0波兰人而且获得输入参数包含数值。

    • 广义状态空间模型(一族)对象,当0波兰人而且获得输入参数包括可调参数,例如<一个href="//www.tatmou.com/de/de/help/control/ref/realp.realp.html">realp参数或广义矩阵(<一个href="//www.tatmou.com/de/de/help/control/ref/genmat.genmat.html">genmat).

    • 不确定状态空间模型(号航空母舰)对象,当0波兰人而且获得输入参数包含不确定参数。使用不确定模型需要鲁棒控制工具箱许可证。

    属性

    全部展开

    系统零,指定为:

    • SISO模型中传递函数零点或分子根的单元阵列。

    • 一个纽约——- - - - - -νMIMO模型中每个I/O对的零的行向量的单元格数组,其中纽约输出的数量和ν是输入的数量。

    的价值Z可以是实值也可以是复值。

    系统极点,指定为:

    • SISO模型的传递函数极点或分母根的单元阵列。

    • 一个纽约——- - - - - -νMIMO模型中每个I/O对的极点行向量的单元阵列,其中纽约输出的数量和ν是输入的数量。

    的价值P可以是实值也可以是复值。

    系统增益,具体为:

    • SISO模型的标量值。

    • 一个纽约——- - - - - -ν矩阵,存储MIMO模型中每个I/O对的增益值,其中纽约输出的数量和ν是输入的数量。

    的价值K可以是实值也可以是复值。

    指定分子和分母多项式如何因式分解以便显示,指定为以下之一:

    • “根”-根据多项式根的位置显示因子。“根”是否默认为DisplayFormat

    • “频率”-根据根固有频率显示因子ω0阻尼比ζ.

      “频率”的离散时间模型不可用显示格式变量价值“z ^ 1”“问^ 1”

    • 的时间常数-以根时间常数的形式显示因子τ阻尼比ζ.

      的时间常数的离散时间模型不可用显示格式变量价值“z ^ 1”“问^ 1”

    对于连续时间模型,下表显示了多项式因子在每种显示格式中的排列方式。

    DisplayName价值 一阶因子(实根<年代p一个nclass="inlineequation"> R 二阶因子(复根对)<年代p一个nclass="inlineequation"> R 一个 ± j b
    “根” 年代 R 年代 2 α 年代 + β 在哪里<年代p一个nclass="inlineequation"> α 2 一个 β 一个 2 + b 2
    “频率” 1 年代 ω 0 在哪里<年代p一个nclass="inlineequation"> ω 0 R 1 2 ζ 年代 ω 0 + 年代 ω 0 2 在哪里<年代p一个nclass="inlineequation"> ω 0 2 一个 2 + b 2 ζ 一个 ω 0
    的时间常数 1 τ 年代 在哪里<年代p一个nclass="inlineequation"> τ 1 R 1 2 ζ τ 年代 + τ 年代 2 在哪里<年代p一个nclass="inlineequation"> τ 1 ω 0 ζ 一个 τ

    对于离散时间模型,多项式因子的排列类似于连续时间模型,并进行如下变量替换:

    年代 w z 1 T 年代 R R 1 T 年代

    在哪里T<年代ub>年代是采样时间。在离散时间,τ而且ω0密切匹配等效连续时间根的时间常数和固有频率,前提是满足以下条件:<年代p一个nclass="inlineequation"> | z 1 | < < T 年代 ω 0 < < π T 年代 奈奎斯特频率

    零极增益模型显示变量,指定为以下之一:

    • “年代”-默认为连续时间模型

    • “z”-默认为离散时间模型

    • “p”-相当于“年代”

    • “问”-相当于“z”

    • “z ^ 1”-倒数“z”

    • “问^ 1”-相当于“z ^ 1”

    传输延迟,指定为下列之一:

    • 标量-为SISO系统指定传输延迟,或为MIMO系统的所有输入/输出对指定相同的传输延迟。

    • 纽约——- - - - - -νarray -为MIMO系统的每个输入/输出对指定单独的传输延迟。在这里,纽约输出的数量和ν是输入的数量。

    类指定的时间单位指定传输延迟TimeUnit财产。对于离散时间系统,指定传输延迟为采样时间的整数倍,Ts.有关时间延迟的详细信息,请参见<一个href="//www.tatmou.com/de/de/help/control/ug/time-delays-in-linear-systems.html" class="a">线性系统中的时间延迟.

    每个输入通道的输入延迟,指定为以下之一:

    • 标量——为单输入输入系统指定输入延迟,或为多输入系统的所有输入指定相同的延迟。

    • ν-by-1 vector -为多输入系统的输入指定单独的输入延迟,其中ν是输入的数量。

    方法所指定的时间单位指定输入延迟TimeUnit财产。对于离散时间系统,指定输入延迟为采样时间的整数倍,Ts

    有关更多信息,请参见<一个href="//www.tatmou.com/de/de/help/control/ug/time-delays-in-linear-systems.html" class="a">线性系统中的时间延迟.

    每个输出通道的输出延迟,指定为以下之一:

    • 标量-为单输出输出系统指定输出延迟,或为多输出系统的所有输出指定相同的延迟。

    • 纽约-by-1 vector -为多输出系统的输出指定单独的输出延迟,其中纽约是输出的数量。

    方法所指定的时间单位指定输出延迟TimeUnit财产。对于离散时间系统,指定输出延迟为采样时间的整数倍,Ts

    有关更多信息,请参见<一个href="//www.tatmou.com/de/de/help/control/ug/time-delays-in-linear-systems.html" class="a">线性系统中的时间延迟.

    采样时间,指定为:

    • 0对于连续时间系统。

    • 表示离散时间系统采样周期的正标量。指定Ts方法指定的时间单位TimeUnit财产。

    • -1对于一个采样时间不确定的离散系统。

    请注意

    改变Ts不对模型进行离散化或重新采样。要在连续时间表示和离散时间表示之间进行转换,请使用<一个href="//www.tatmou.com/de/de/help/control/ref/lti.c2d.html">汇集而且<一个href="//www.tatmou.com/de/de/help/control/ref/lti.d2c.html">d2c.要更改离散时间系统的采样时间,请使用<一个href="//www.tatmou.com/de/de/help/control/ref/lti.d2d.html">d2d

    时间变量单位,指定为下列之一:

    • “纳秒”

    • 微秒的

    • 的毫秒

    • “秒”

    • “分钟”

    • “小时”

    • “天”

    • “周”

    • “月”

    • “年”

    改变TimeUnit对其他属性没有影响,但会改变整个系统行为。使用<一个href="//www.tatmou.com/de/de/help/control/ref/lti.chgtimeunit.html">chgTimeUnit在时间单位之间转换而不修改系统行为。

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

    • 一个字符向量,用于单输入模型。

    • 字符向量的单元格数组,用于多输入模型。

    • ,没有为任何输入通道指定名称。

    或者,您可以使用自动向量展开为多输入模型分配输入名称。例如,如果sys是双输入模型,输入如下:

    sys。InputName =<年代p一个n年代tyle="color:#A020F0">“控制”;

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

    你可以用速记法u请参阅InputName财产。例如,sys.u等于sys。InputName

    使用InputName:

    • 识别模型显示和图上的通道。

    • 提取MIMO系统的子系统。

    • 对接模型时,请指定连接点。

    输入通道单位,指定为下列之一:

    • 一个字符向量,用于单输入模型。

    • 字符向量的单元格数组,用于多输入模型。

    • ,没有指定任何输入通道的单位。

    使用InputUnit指定输入信号单位。InputUnit对系统行为没有影响。

    输入通道组,指定为结构。使用InputGroup将MIMO系统的输入通道划分为组,并以名称引用每个组。的字段名InputGroup是组名,字段值是每个组的输入通道。例如,输入以下内容创建名为控制而且噪音包括输入通道1而且2,3.而且5,分别。

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

    然后,您可以从控制输入到所有输出使用以下。

    sys (:,<年代p一个n年代tyle="color:#A020F0">“控制”)

    默认情况下,InputGroup是一个没有字段的结构。

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

    • 一个字符向量,用于单输出模型。

    • 字符向量的单元格数组,用于多输出模型。

    • ,没有为任何输出通道指定名称。

    或者,您可以使用自动向量展开为多输出模型分配输出名称。例如,如果sys是一个双输出模型,输入以下内容。

    sys。OutputName =<年代p一个n年代tyle="color:#A020F0">“测量”;

    输出名称自动展开为{“测量(1)”,“测量”(2)}

    你也可以使用速记符号y请参阅OutputName财产。例如,sys.y等于sys。OutputName

    使用OutputName:

    • 识别模型显示和图上的通道。

    • 提取MIMO系统的子系统。

    • 对接模型时,请指定连接点。

    输出通道单位,指定为下列之一:

    • 一个字符向量,用于单输出模型。

    • 字符向量的单元格数组,用于多输出模型。

    • ,不指定任何输出通道的单位。

    使用OutputUnit指定输出信号单位。OutputUnit对系统行为没有影响。

    输出通道组,指定为结构。使用OutputGroup将MIMO系统的输出通道划分为组,并以名称引用每个组。的字段名OutputGroup是组名,字段值是每个组的输出通道。例如,创建名为温度而且测量包括输出通道1,3.而且5,分别。

    sys.OutputGroup.temperature = [1];sys.InputGroup.measurement = [3 5];

    的所有输入中提取子系统测量使用以下输出。

    系统(<年代p一个n年代tyle="color:#A020F0">“测量”:)

    默认情况下,OutputGroup是一个没有字段的结构。

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

    希望与系统关联的用户指定文本,指定为字符向量或字符向量的单元格数组。例如,“系统是MIMO”

    希望与系统关联的用户指定数据,指定为任何MATLAB数据类型。

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

    使用SamplingGrid跟踪与模型数组中每个模型相关的变量值,包括已识别的线性时不变(IDLTI)模型数组。

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

    例如,你可以创建一个11乘1的线性模型数组,sysarr,通过不时地对线性时变系统进行快照T = 0:10.下面的代码使用线性模型存储时间样本。

    sysarr。SamplingGrid = struct(<年代p一个n年代tyle="color:#A020F0">“时间”0:10)

    类似地,你可以创建一个6乘9的模型数组,,通过独立抽样两个变量,ζ而且w.下面的代码映射(ζ,w)

    [zeta,w] = ndgrid(zeta> <6个值,w > <9个值)<年代p一个n年代tyle="color:#A020F0">“ζ”ζ,<年代p一个n年代tyle="color:#A020F0">' 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<年代up>®在多个参数值或工作点建模,软件进行填充SamplingGrid自动使用对应于数组中每个条目的变量值。例如,<年代p一个nclass="entity">金宝appSimulink控制设计™命令<一个href="//www.tatmou.com/de/de/help/slcontrol/ug/linearize.html">线性化(金宝appSimulink控制设计)而且<一个href="//www.tatmou.com/de/de/help/slcontrol/ug/sllinearizer.html">slLinearizer(金宝appSimulink控制设计)填充SamplingGrid自动。

    默认情况下,SamplingGrid是一个没有字段的结构。

    对象的功能

    下面的列表包含您可以使用的函数的一个代表性子集zpk模型。一般来说,任何函数都适用于<一个href="//www.tatmou.com/de/de/help/control/ug/dynamic-system-models.html" class="a">动态系统模型适用于zpk对象。

    全部展开

    一步 动态系统的阶跃响应图;阶跃响应数据
    冲动 动态系统的脉冲响应图;脉冲响应数据
    lsim 绘制动态系统对任意输入的模拟时间响应图;模拟响应数据
    波德 波德图的频率响应,或幅度和相位数据
    尼奎斯特 频率响应的奈奎斯特图
    尼克尔斯 尼克尔斯频率响应图
    带宽 频响带宽
    动力系统的极点
    SISO动态系统的零点和增益
    pzplot 动态系统模型的极点零图,具有额外的图定制选项
    保证金 增益裕度、相位裕度和交叉频率
    特遣部队 传递函数模型
    党卫军 状态空间模型
    汇集 将模型从连续时间转换为离散时间
    d2c 将模型从离散时间转换为连续时间
    d2d 重新采样离散时间模型
    反馈 多型号反馈连接
    连接 动态系统连接的框图
    系列 两种型号串联
    平行 两种型号并联
    pidtune 线性植物模型的PID整定算法
    rlocus 动态系统的根轨迹图
    等方面 线性二次型调节器(LQR)设计
    lqg 线性二次高斯(LQG)设计
    lqi Linear-Quadratic-Integral控制
    卡尔曼 状态估计的卡尔曼滤波器设计

    例子

    全部折叠

    对于本例,考虑以下连续时间SISO零极增益模型:

    年代 y 年代 年代 - 2 年代 年代 - 1 - 年代 - 1 + 年代 - 2 连续时间零极增益模型

    指定零点、极点和增益,并创建SISO零极点增益模型。

    零= 0;极点= [1-1i 1+1i 2];增益= -2;Sys = zpk(零,极点,增益)
    sys = 2年代  -------------------- ( 2) (s ^ 2 - 2 s + 2)连续时间零/钢管/增益模型。

    对于本例,考虑以下采样时间为0.1s的SISO离散零极增益模型:

    年代 y 年代 年代 7 z - 1 z - 2 z - 3. z - 6 z - 5 z - 4 离散SISO零极增益模型

    指定零点、极点、增益和采样时间,并创建离散SISO零极点增益模型。

    零= [1 2 3];极点= [6 5 4];增益= 7;Ts = 0.1;Sys = zpk(零,极点,增益,ts)
    sys = 7 (z二)(z-3 (z 1) ) ------------------- ( z-6) (z-5) (z-4)样品时间:0.1秒离散时间零/钢管/增益模型。

    在本例中,您将通过连接SISO零极增益模型来创建一个MIMO零极增益模型。考虑以下单输入、双输出连续时间零极增益模型:

    年代 y 年代 年代 年代 - 1 年代 + 1 年代 + 2 年代 + 2 + 年代 + 2 -

    通过连接SISO项指定MIMO零极增益模型。

    Zeros1 = 1;Poles1 = -1;增益= 1;Sys1 = zpk(zeros1,poles1,增益)
    sys1 = (s-1) ----- (s+1)连续时间零/极/增益模型。
    Zeros2 = -2;Poles2 = [-2+1i -2-1i];Sys2 = zpk(zeros2,poles2,增益)
    sys2 = (s + 2 ) -------------- ( s ^ 2 + 4 + 5)连续时间零/钢管/增益模型。
    Sys = [sys1;sys2]
    sys =从输入到输出…(s - 1) 1:——(s + 1) (s + 2) 2 : -------------- ( s ^ 2 + 4 + 5)连续时间零/钢管/增益模型。

    为离散时间、多输入、多输出模型创建零极增益模型:

    年代 y 年代 z 1 z + 0 3. z z + 0 3. - z - 2 z + 0 3. 3. z + 0 3. 离散MIMO零极增益模型

    用采样时间Ts = 0.2秒。

    将零点和极点指定为单元格数组,将增益指定为数组。

    0 = {[] 0;2 []};极点= {-0.3 -0.3;-0.3 -0.3};增益= [1 1;-1 3];Ts = 0.2;

    创建离散MIMO零极增益模型。

    Sys = zpk(零,极点,增益,ts)
    sys =从输入1到输出…1 : ------- ( z + 0.3) - (z二)2 : ------- ( z + 0.3)从输入2输出…z 1: ------- (z+0.3) 3 2: ------- (z+0.3)采样时间:0.2秒离散时间零/极/增益模型。

    指定零点、极点和增益以及采样时间,并创建零极点增益模型,使用名称-值对指定状态和输入名称。

    零= 4;极点= [-1+2i -1-2i];增益= 3;Ts = 0.05;Sys = zpk(零,极点,增益,ts,<年代p一个n年代tyle="color:#A020F0">“InputName”,<年代p一个n年代tyle="color:#A020F0">“力”)
    sys =从输入“力”到输出:3 (z-4) -------------- (z^2 + 2z + 5)采样时间:0.05秒离散时间零/极/增益模型。

    输入名称的个数必须与0的个数一致。

    在处理MIMO系统的响应图时,命名输入和输出是有用的。

    步骤(系统)

    图中包含一个轴对象。标题为From: Force To: Out(1)的坐标轴对象包含一个line类型的对象。该节点表示sys。

    注意输入名称在阶梯响应图的标题中。

    对于本例,使用有理表达式创建一个连续时间零极增益模型。使用有理表达式有时比指定极点和零点更容易和更直观。

    考虑以下系统:

    年代 y 年代 年代 年代 年代 2 + 2 年代 + 1 0

    要创建传递函数模型,首先指定年代作为一个zpk对象。

    S = zpk(<年代p一个n年代tyle="color:#A020F0">“年代”)
    连续时间零/极/增益模型。

    在有理表达式中使用s创建零极增益模型。

    Sys = s/(s²+ 2*s + 10)
    sys =年代  --------------- ( s ^ 2 + 2 + 10)连续时间零/钢管/增益模型。

    对于本例,使用有理表达式创建一个离散时间零极增益模型。使用有理表达式有时比指定极点和零点更容易和更直观。

    考虑以下系统:

    年代 y 年代 z z - 1 z 2 - 1 8 5 z + 0 9 离散零极增益模型

    要创建零极增益模型,首先指定z作为一个zpk对象和采样时间ts

    Ts = 0.1;Z = zpk(<年代p一个n年代tyle="color:#A020F0">“z”ts)
    采样时间:0.1秒离散时间零/极/增益模型。

    使用创建零极增益模型z在理性表达中。

    Sys = (z - 1) / (z^2 - 1.85*z + 0.9)
    sys = (z 1 ) ------------------- ( z z ^ 2 - 1.85 + 0.9)样品时间:0.1秒离散时间零/钢管/增益模型。

    对于本例,创建一个具有继承自另一个零极增益模型的属性的零极增益模型。考虑以下两个零极增益模型:

    年代 y 年代 1 年代 2 年代 年代 年代 + 8 一个 n d 年代 y 年代 2 年代 0 8 年代 - 1 年代 + 3. 年代 - 5 两个具有继承特性的零极增益模型

    对于本例,创建sys1TimeUnit而且InputDelay属性设置为'分钟”。

    Zero1 = 0;Pole1 = [0;-8];Gain1 = 2;Sys1 = zpk(zero1,pole1,gain1,<年代p一个n年代tyle="color:#A020F0">“TimeUnit”,<年代p一个n年代tyle="color:#A020F0">“分钟”,<年代p一个n年代tyle="color:#A020F0">“InputUnit”,<年代p一个n年代tyle="color:#A020F0">“分钟”)
    sys1 = 2 s ------- s (s+8)连续时间零/极/增益模型。
    propValues1 = [sys1.TimeUnit,sys1.InputUnit]
    propValues1 =<年代p一个nclass="emphasis">1 x2单元格{“分钟”}{“分钟”}

    使用继承自的属性创建第二个零极增益模型sys1

    0 = 1;极点= [-3,5];Gain2 = 0.8;Sys2 = zpk(zero,pole,gain2,sys1)
    sys2 = 0.8 (s - 1 ) ----------- ( s + 3) (s-5)连续时间零/钢管/增益模型。
    propValues2 = [sys2.TimeUnit,sys2.InputUnit]
    propValues2 =<年代p一个nclass="emphasis">1 x2单元格{“分钟”}{“分钟”}

    观察零极增益模型sys2具有相同的性质sys1

    考虑下面的双输入、双输出静态增益矩阵

    2 4 3. 5 MIMO静态增益矩阵

    指定增益矩阵并创建静态增益零极增益模型。

    M = [2,4;<年代p一个n年代tyle="color:#0000FF">...3、5];Sys1 = zpk(m)
    sys1 =从输入1到输出…1:2 2:3从输入2到输出…1:4 2:5静态增益。

    可以使用静态增益零极增益模型sys1与另一个零极增益模型级联。

    Sys2 = zpk(0,[-1 7],1)
    sys2 =年代  ----------- ( s + 1) (s-7)连续时间零/钢管/增益模型。
    Sys = series(sys1,sys2)
    sys =从输入1到输出…2 s 1 : ----------- ( + 1) (s-7) 3年代2 : ----------- ( + 1) (s-7)从输入2输出…4 s 1 : ----------- ( + 1) (s-7) 5 s 2 : ----------- ( s + 1) (s-7)连续时间零/钢管/增益模型。

    对于本例,计算以下状态空间模型的零极增益模型:

    一个 - 2 - 1 1 - 2 B 1 1 2 - 1 C 1 0 D 0 1 状态矩阵

    使用状态空间矩阵创建状态空间模型。

    A = [-2 -1;1 -2];B = [1 1;2 -1];C = [10];D = [0 1];ltiSys = ss(A,B,C,D);

    转换状态空间模型ltiSys零极增益模型。

    sys = zpk(ltiSys)
    sys =从输入1到输出:s -------------- (s^2 + 4s + 5)从输入2到输出:(s^2 + 5s + 8) -------------- (s^2 + 4s + 5)连续时间零/极/增益模型。

    你可以使用循环来指定零极增益模型的数组。

    首先,用零预分配零极增益模型数组。

    Sys = zpk(0 (1,1,3));

    前两个索引表示模型的输出和输入的数量,而第三个索引是数组中模型的数量。

    中的有理表达式创建零极增益模型数组循环。

    S = zpk(<年代p一个n年代tyle="color:#A020F0">“年代”);<年代p一个n年代tyle="color:#0000FF">为sys(:,:, K) = K /(s²+s+ K);<年代p一个n年代tyle="color:#0000FF">结束sys
    sys (:: 1, - 1) = 1  ------------- ( s ^ 2 + s + 1)系统(:,:,2,1)= 2  ------------- ( s ^ 2 + s + 2)系统(:,:,3,1)= 3  ------------- ( s ^ 2 + s + 3) 3 x1的连续时间零/钢管/增益模型。

    对于本例,将一个已识别的多项式模型的测量分量和噪声分量提取到两个独立的零极增益模型中。

    加载Box-Jenkins多项式模型ltiSysidentifiedModel.mat

    负载(<年代p一个n年代tyle="color:#A020F0">“identifiedModel.mat”,<年代p一个n年代tyle="color:#A020F0">“ltiSys”);

    ltiSys是一个已识别的离散时间模型,其形式为:<年代p一个nclass="inlineequation"> y t B F u t + C D e t ,在那里<年代p一个nclass="inlineequation"> B F 表示测量的分量和<年代p一个nclass="inlineequation"> C D 噪声成分。

    将测量分量和噪声分量提取为零极增益模型。

    sysMeas = zpk(ltiSys,<年代p一个n年代tyle="color:#A020F0">“测量”)
    从输入“u1”输出sysMeas =“日元”:-0.14256 z ^ 1 (1 - 1.374 - z ^ 1) z ^ (2 ) * ----------------------------- ( 1 - 0.8789 - z ^ 1) (1 - 0.6958 - z ^ 1)样品时间:0.04秒离散时间零/钢管/增益模型。
    sysNoise = zpk(ltiSys,<年代p一个n年代tyle="color:#A020F0">“噪音”)
    结合sysNoise =从输入“v@y1”输出“日元”:0.045563 (1 + 0.7245 z ^ 1 ) -------------------------------------------- ( 1 - 0.9658 - z ^ 1) (1 - 0.0602 z ^ 1 + 0.2018 z ^ 2)输入组:名称通道噪声1样品时间:0.04秒离散时间零/钢管/增益模型。

    测量分量可以作为一个设备模型,而噪声分量可以作为控制系统设计的扰动模型。

    对于本例,创建一个输入延迟为0.5秒,输出延迟为2.5秒的SISO零极增益模型。

    零= 5;极点= [7+1i 7-1i -3];增益= 1;Sys = zpk(零,极点,增益,<年代p一个n年代tyle="color:#A020F0">“InputDelay”, 0.5,<年代p一个n年代tyle="color:#A020F0">“OutputDelay”, 2.5)
    sys = (s-5) exp (3 * ) * ---------------------- ( s + 3)(^ 2 - 14年代+ 50)连续时间零/钢管/增益模型。

    你也可以使用得到命令显示MATLAB对象的所有属性。

    (系统)
    Z: {[5]} P: {[3x1 double]} K: 1 DisplayFormat: 'roots'变量:'s' IODelay: 0 InputDelay: 0.5000 OutputDelay: 2.5000 Ts: 0 TimeUnit: 'seconds' InputName: {"} InputUnit: {"} InputGroup: [1x1 struct] OutputName: {"} OutputUnit: {"} OutputGroup: [1x1 struct]备注:[0x1 string] UserData:[]名称:" SamplingGrid: [1x1 struct]

    有关为LTI模型指定时间延迟的详细信息,请参见<一个href="//www.tatmou.com/de/de/help/control/ug/specifying-time-delays.html" class="a">指定延时时间.

    在本例中,设计一个目标带宽为0.75 rad/s的2-DOF PID控制器,用于以下零极增益模型表示的系统:

    年代 y 年代 年代 1 年代 2 + 0 5 年代 + 0 1 Zero-pole-gain模型

    创建一个零极增益模型对象sys使用zpk命令。

    零= [];极点= [-0.25+0.2i;-0.25-0.2i];增益= 1;Sys = zpk(零,极点,增益)
    sys = 1  --------------------- ( s ^ 2 + 0.5 + 0.1025)连续时间零/钢管/增益模型。

    使用目标带宽,使用<一个href="//www.tatmou.com/de/de/help/control/ref/lti.pidtune.html" class="a">pidtune来生成一个二自由度控制器。

    Wc = 0.75;C2 = pidtune(sys,<年代p一个n年代tyle="color:#A020F0">“PID2”wc)
    C2 = 1 u = Kp (b*r-y) + Ki—(r-y) + Kd*s (c*r-y) s, Kp = 0.512, Ki = 0.0975, Kd = 0.574, b = 0.38, c = 0并联形式的连续时间2自由度PID控制器。

    使用类型“PID2”原因pidtune生成2-DOF控制器,表示为pid2对象。显示屏证实了这一结果。显示屏也显示了这一点pidtune调优所有控制器系数,包括设定值权重b而且c,以平衡性能和健壮性。

    有关实时编辑器中的交互式PID调优,请参阅<一个href="//www.tatmou.com/de/de/help/control/ref/tunepidcontroller.html" class="a">整定PID控制器实时编辑器任务。该任务允许您交互式地设计PID控制器,并自动为您的实时脚本生成MATLAB代码。

    对于交互式PID调优在一个独立的应用程序,使用<一个href="//www.tatmou.com/de/de/help/control/ref/pidtuner-app.html" class="a">PID调谐器.看到<一个href="//www.tatmou.com/de/de/help/control/getstart/pid-controller-design-for-fast-reference-tracking.html" class="a">快速参考跟踪的PID控制器设计这是一个使用应用程序设计控制器的例子。

    算法

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

    另请参阅

    |<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代p一个n我te米年代cope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

    R2006a之前介绍