主要内容

idpoly

具有可识别参数的多项式模型

描述

一个idpoly模型将系统表示为具有可识别(可估计)系数的连续时间或离散时间多项式模型。使用idpoly创建一个多项式模型或转换动态系统模型变成多项式形式。

一个带输入向量系统的多项式模型u,输出矢量y,和扰动e离散时间的形式如下:

一个 y t B F u t + C D e t

的变量一个BCD,F多项式是用时移算子表示的吗-1.例如,一个多项式的形式是:

一个 1 + 一个 1 1 + 一个 2 2 + + 一个 n 一个 n 一个

在这里,na是顺序的吗一个多项式。-1yt)相当于yt-1).

例如,如果一个) = 1 +一个1-1+一个2-2,然后一个yt) = 1 +一个1t - 1) +一个22

CD,F多项式的形式与一个多项式,从1开始。的B多项式不是从1开始的。

在连续时间条件下,多项式模型的形式如下:

一个 年代 Y 年代 B 年代 F 年代 U 年代 + C 年代 D 年代 E 年代

U年代的拉普拉斯变换输入sysY年代)包含拉普拉斯变换后的输出。E年代)包含每个输出扰动的拉普拉斯变换。

idpoly模型,多项式的系数一个BCD,F是可估计的参数。的idpoly模型中存储这些矩阵元素的值一个BCD,F模型的属性。

时间序列模型是无测量输入系统的多项式模型的特殊情况。对于AR模型,B而且F都是空的,而且C而且D所有输出均为1。对于ARMA模型,B而且F是空的,而D是1。

虽然idpoly金宝app支持连续时间模型,idtf而且idproc为连续时间模型的估计提供更多选择。因此,对于大多数连续时间应用程序,这些其他模型类型是更可取的。

有关多项式模型的更多信息,请参见什么是多项式模型?

创建

你可以获取idpoly用三种方法之一建模。

  • 估计idpoly使用命令对系统的输出或输入-输出测量进行建模arxarmaxoebjiv4,或ivar.这些命令估计自由多项式系数的值。估计的值存储在一个BCD,F结果的属性idpoly模型。的报告属性存储关于估计的信息,例如关于初始条件处理的信息和估计中使用的选项。

    当你获得idpoly通过估计建模,您可以使用以下命令从模型中提取估计的系数及其不确定性polydatagetpar,或getcov

  • 创建一个idpoly使用idpoly命令。您可以创建idpoly模型来配置多项式模型估计的初始参数化,以拟合测量的响应数据。当你这样做的时候,你可以指定多项式系数的约束条件。例如,您可以固定某些系数的值,或指定自由系数的最小值或最大值。然后,您可以使用配置的模型作为的输入参数用这些约束估计参数值。

  • 将现有的动态系统模型转换为idpoly使用idpoly命令。

描述

创建输入-输出多项式模型

例子

sys= idpoly (A, B, C, D, FNoiseVarianceTs创建具有可识别系数的多项式模型。一个BCD,F指定系数的初值。NoiseVariance指定白噪声源方差的初始值。Ts为模型采样时间。

例子

sys= idpoly (A, B, C, D, FNoiseVarianceTs名称,值使用由一个或多个名-值对参数指定的附加选项创建多项式模型。

创建时间序列模型

sys= idpoly(一个)创建一个只有自回归项的时间序列模型。在这种情况下,sys为给出的AR模型一个yt) =et.噪音et)的方差为1。一个指定可估计系数的初始值。

例子

sys= idpoly ([], C, D, [],NoiseVarianceTs创建一个具有自回归和移动平均项的时间序列模型。输入一个C,D,指定可估计系数的初始值。NoiseVariance指定噪声的初始值et).Ts为模型采样时间。(省略NoiseVariance而且Ts使用它们的默认值。)

如果D设置为[],然后sys的ARMA模型

一个 y t C e t

例子

sys= idpoly ([], C, D, [],NoiseVarianceTs名称,值使用由一个或多个名称-值对参数指定的附加选项创建时间序列模型。

将动态系统模型转化为多项式模型

例子

sys= idpoly (sys0转换动态系统模型sys0idpoly模型形式。sys0可以是任何动态系统模型。

sys= idpoly (sys0, '分裂')转换sys0idpoly以身作则,以身作则Ny输入渠道sys0作为返回模型中的噪声通道。sys0必须是数字特遣部队(控制系统工具箱)zpk(控制系统工具箱),或党卫军(控制系统工具箱)模型对象。同时,sys0至少要有和输出一样多的输入。

输入参数

全部展开

动态系统,指定为动态系统模型转换为动态系统模型idpoly模型。

sys0是一个已识别的模型,其估计的参数协方差在转换过程中丢失。如果您希望在转换过程中转换估计的参数协方差,请使用translatecov

对于语法Sys = idpoly(sys0,'split')sys0必须符合以下要求。

  • sys0是一个数字特遣部队(控制系统工具箱)zpk(控制系统工具箱),或党卫军(控制系统工具箱)模型对象。

  • sys0至少有和输出一样多的输入。

  • 子系统纽约sys0(: + 1:ν)必须是双对的。

属性

全部展开

多项式系数的值,指定为SISO模型的行向量,或MIMO模型的行向量单元格数组,对应于每个的一个BCD,F多项式。对于每个多项式,系数按以下顺序存储:

  • 上升幂z11(用于离散时间多项式模型)。

  • 降幂年代p(用于连续时间多项式模型)。

的导系数一个CD,F总是1。

适用于MIMO模型Ny输出和Nu输入,一个BCD,F是行向量的单元格数组。单元格数组中的每个条目都包含一个特定多项式的系数,该多项式将输入、输出和噪声值联系起来。

多项式 尺寸和约束条件 关系描述
一个

Ny——- - - - - -Ny行向量的单元格数组

领先的系数:

  • 对角线条目-固定为1

  • 非对角线条目-固定为0

一个{i, j}包含与输出相关的系数y到输出yj

例如,对于一个双输出系统,一个是一个2乘2单元格数组,例如:

{1, 1} =[1。1]{1,2}= [0.4 - -0.6]{2,1}= 0 {2,}= 0.2 - 0.3 [1]

B, F

Ny——- - - - - -Nu行向量数组

领先的系数:

  • B -不受约束

  • F -固定为1

B {i, j}而且F {i, j}包含与输出相关的系数y对于输入uj

例如,对于一个双输出系统,B而且F是2 × 1单元格数组,例如:

B {1} = [0.1 - 0.2] B {2, 1} = (0.5 - 0.3) F {1 1} = 0.8 [1] F {2, 1} = 0.4 [1]

C, D

Ny行向量的-by-1数组

领先的系数:

  • C -固定为1

  • D -固定为1

C{我}而且D{我}包含与输出相关的系数y对着噪音e

例如,对于一个双输出系统,C而且D是2 × 1单元格数组,例如:

0.3 C {1} = [1] C {2, 1} = 0.5 - 0.3 [1] D {1 1} = 0.7 [1] D {2, 1} = 0.1 - 0.2 [1]

对于时间序列模型(无测量输入的模型),B = []而且F = []

如果你有idpoly模型sys通过使用函数进行识别arx,然后sys。一个sys。Bsys.Csys。D,sys。F包含多项式系数的估计值。

如果你创建一个idpoly模型sys使用idpoly命令,sys。一个sys。Bsys.Csys。D,sys。F属性指定的初始系数值A, B, C, D, F输入参数。使用对于任何初值未知的系数。使用[]对于您想要创建的模型结构中不存在的任何多项式。例如,要创建ARX模型,请使用[]CD,F.对于ARMA时间序列模型,使用[]B而且F.创建对象时的默认初始值idpoly模型是:

  • B -[]

  • C -1对于所有输出

  • D -1对于所有输出

  • F -[]

对于一个idpoly模型sys,每个属性sys。一个sys。Bsys.Csys。D,sys。F是否对应的别名价值进入结构的属性sys.例如,sys。一个属性值的别名吗sys.Structure.A.Value

多项式模型显示变量,指定为以下值之一:

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

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

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

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

的价值变量是体现在展示上,也是影响解读的一个BCD,F离散时间模型的系数向量。当变量设置为“z ^ 1”“问^ 1”时,系数向量按变量的升幂排序。

传输延迟,指定为包含每个输入-输出对的单独传输延迟的数字数组,或指定为对每个输入-输出对应用相同延迟的标量。

中存储的时间单位表示传输延迟TimeUnit财产。对于离散时间系统,传输延迟用整数表示,表示延迟是采样时间的倍数Ts

对于MIMO系统Ny输出和Nu输入,IODelay是一个Ny——- - - - - -Nu数组中。该数组的每个条目都是一个数值,表示对应输入-输出对的传输延迟。你可以设置IODelay对所有输入-输出对应用相同的延迟。

如果你创建一个idpoly模型sys使用idpoly命令,sys。IODelay包含使用名称-值对参数指定的传输延迟的初始值。

如果你有idpoly模型sys通过使用函数进行识别arx,然后sys。IODelay包含传输延迟的估计值。

对于一个idpoly模型sys,属性sys。IODelay属性值的别名吗sys.Structure.IODelay.Value

表示噪声通道上存在或不存在积分的逻辑向量,指定为长度等于输出数的逻辑向量。

IntegrateNoise(i) = true的噪声通道输出包含一个积分器。在这种情况下,对应的D多项式包含一个没有在属性中表示的附加项sys。D.这个积分器项等于1/年代对于连续时间系统,1/(1-z-1)用于离散时间系统。

属性的可估计参数的特定属性信息idpoly模型,指定为结构。

对于一个系统Ny输出和Nu输入的维数结构要素如下:

  • sys.Structure.A- - - - - -Ny——- - - - - -Ny

  • sys.Structure.B- - - - - -Ny——- - - - - -Nu

  • sys.Structure.C- - - - - -Ny——- - - - - -1

  • sys.Structure.D- - - - - -Ny——- - - - - -1

  • sys.Structure.F- - - - - -Ny——- - - - - -Nu

sys.Structure.Asys.Structure.Bsys.Structure.Csys.Structure.D,sys.Structure.F包含多项式系数的信息。sys.Structure.IODelay包含有关传输延迟的信息。sys.Structure.IntegrateNoise包含关于噪声上的积分项的信息。中的每个参数结构包含以下字段。

描述 例子
价值 参数值。每个属性都是对应属性的别名价值进入结构的属性sys表示未知参数值。 sys.Structure.A.Value包含ssio的初始值或估计值一个多项式。sys。一个此属性值的别名。sys。一个{i,j}是MIMO属性的别名吗sys.Structure.A value (i, j)
最低 参数在估计过程中可以假定的最小值 sys.Structure.IODelay.Minimum = 0.1将传输延迟限制为大于或等于0.1的值。sys.Structure.IODelay.Minimum必须大于或等于零。
最大 参数在估计过程中可以假定的最大值
免费的 布尔值,指定参数是否为自由估计变量。如果需要在估计过程中固定某个参数的值,请设置相应的参数免费的.对于固定值,如的导系数值一个多项式,总是等于1,对应的值免费的总是 如果B是一个3 × 3矩阵,sys.Structure.B.Free = eye(3)修复了所有非对角线的元素B中指定的值sys.Structure.B.Value.在这种情况下,只有对角线元素B是有价值的。
规模 参数值的比例。估计算法不使用规模
信息 包含字段的结构数组标签而且单位用于存储参数标签和单位。指定参数标签和单位为字符向量。 例子:“时间”

非活跃多项式,如B多项式在时间序列模型中,不能作为参数结构财产。例如,Sys = idpoly([1 -0.2 0.5])创建一个AR模型。sys。结构包含字段sys.Structure.A而且sys.Structure.IntegrateNoise.然而,没有场在结构对应于BCDF,或IODelay

模型创新的方差(协方差矩阵)e,指定为标量或正半定矩阵。

  • SISO模型-标量

  • MIMO模型Ny输出-Ny——- - - - - -Ny正半定矩阵

所识别的模型包含高斯白噪声分量et).NoiseVariance是这个噪声分量的方差。通常,模型估计函数(如)决定这个方差。

此属性是只读的。

摘要报告,其中包含有关使用估计命令获得的状态空间模型的估计选项和结果的信息,例如armaxoe,bj.使用报告查找已识别模型的估计信息,包括:

  • 估算方法

  • 估计选项

  • 查询终止条件

  • 估计数据拟合和其他质量度量

如果您通过构造创建模型,则报告是无关紧要的。

M = idpoly({[1 0.5]},{[1 5]},{[1 0.01]});m.Report.OptionsUsed
Ans = []

如果使用估计命令获取模型,则报告包含关于估计数据、选项和结果的信息。

负载iddata2z2;M = polyest(z2,[2 2 3 3 2 1]);m.Report.OptionsUsed
polyest命令的选项集:InitialCondition: 'auto' Focus: 'prediction' EstimateCovariance: 1 Display: 'off' InputOffset: [] OutputOffset:[]正则化:[1x1 struct] SearchMethod: 'auto' SearchOptions: [1x1 idoptions.search. search。高级:[1x1 struct]

有关此属性以及如何使用它的更多信息,请参阅相应估计命令参考页的Output Arguments部分评估报告

每个输入通道的输入延迟,指定为标量值或数字向量。方法中存储的时间单位指定输入延迟TimeUnit财产。对于离散时间系统,指定输入延迟为采样时间的整数倍Ts.例如,设置InputDelay3.指定三个采样时间的延迟。

对于一个系统Nu输入,设置InputDelay到一个Nu1的向量。该向量的每一项都是一个数值,表示对应输入通道的输入延迟。

你也可以设置InputDelay到一个标量值,以便对所有通道应用相同的延迟。

在评估,InputDelay是模型的一个固定常数。该软件使用IODelay属性用于估计时间延迟。若要指定用于估计时间延迟的初始值和约束,请使用sys.Structure.IODelay

此属性是只读的。

每个输出通道的输出延迟,指定为0.此值对于已识别的系统是固定的,例如idpoly

采样时间,指定为下列之一。

  • 不确定采样时间的离散时间模型-1

  • 连续时间模型-0

  • 具有指定采样时间的离散时间模型-正标量,表示以指定的单位表示的采样周期TimeUnit模型属性

更改此属性不会对模型进行离散化或重新采样。使用汇集而且d2c在连续时间表示和离散时间表示之间进行转换。使用d2d改变离散时间系统的采样时间。

时间变量的单位是采样时间Ts,以及模型中的任何时间延迟,指定为标量。

更改此属性不会重新采样或转换数据。修改属性只会改变对现有数据的解释。使用chgTimeUnit将数据转换为不同的时间单位

输入通道名称,指定为字符向量或单元格数组。

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

  • 多输入模型-字符向量的单元数组

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

sys。InputName = 'controls';

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

当你估计一个模型使用iddata对象数据,软件自动设置InputName数据。InputName

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

你可以通过几种方式使用输入通道名,包括:

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

  • 提取MIMO系统的子系统。

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

输入通道单位,指定为字符向量或单元格数组:

  • 单输入模型-字符向量

  • 多输入模型-字符向量的单元数组

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

输入通道组,指定为结构。的InputGroup属性允许您将MIMO系统的输入通道划分为组,以便您可以通过名称引用每个组。在InputGroup结构,将字段名设置为组名,将字段值设置为属于每个组的输入通道。

例如,创建名为控制而且噪音分别包括输入通道1、2和3、5。

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

然后,您可以从控制使用以下语法输入所有输出:

sys(:,“控制”)

输出通道名称,指定为字符向量或单元格数组。

  • 单输入模型-字符向量,例如,“测量”

  • 多输入模型-字符向量的单元数组

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

sys。OutputName = 'measurements';

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

当你估计一个模型使用iddata对象数据,软件自动设置OutputName数据。OutputName

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

你可以通过多种方式使用输出通道名,包括:

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

  • 提取MIMO系统的子系统。

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

输出通道单元,指定为字符向量或单元格数组。

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

  • 多输入模型-字符向量的单元数组

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

输出通道组,指定为结构。的OutputGroup属性允许您将MIMO系统的输出通道划分为组,并通过名称引用每个组。在OutputGroup结构,将字段名设置为组名,将字段值设置为属于每个组的输出通道。

例如,创建名为温度而且测量分别包括输出通道1、3,5。

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

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

系统(“测量”,:)

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

希望与系统关联的任何文本,指定为字符串。

  • 对于单个音符,请指定笔记作为字符串或字符向量

  • 对于多个音符,请指定笔记作为一个字符串数组。

属性保留您指定的字符串或字符数据类型。指定字符向量时,软件将字符向量打包成1乘1单元格数组。

例如,如果sys1sys2,sys3系统模型都是动态的,你可以自己设置吗笔记属性如下。

sys1。笔记=sys1有一个字符串。;sys2。笔记=[sys2有第一个字符串sys3有第二个字符串];sys3。Notes =sys3有一个字符向量;sys1。笔记sys2。笔记sys3。Notes
Ans = "sys1有一个字符串" Ans = 2×1字符串数组"sys2有一个第一个字符串" "sys2有一个第二个字符串" Ans = 1×1单元格数组{'sys3有一个字符向量'}

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

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

对于通过对一个或多个自变量采样而得到的已识别线性(IDLTI)模型数组,此属性跟踪与每个模型相关的变量值。当您显示或绘制模型数组时,将显示此信息。使用这些信息将结果追溯到自变量。

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

例如,假设您在系统的各个操作点上收集数据。您可以分别为每个工作点标识模型,然后将结果叠加到单个系统数组中。您可以用有关操作点的信息标记数组中的各个模型。

Nominal_engine_rpm = [1000 5000 10000];sys。SamplingGrid = struct(“转”nominal_engine_rpm)

在这里,sys包含分别以1000,5000和10000 rpm获得的三个已标识的型号的数组。

对于通过线性化Simulink生成的模型数组金宝app®在多个参数值或工作点建模,软件进行填充SamplingGrid自动使用对应于数组中每个条目的变量值。

对象的功能

一般来说,任何函数都适用于动态系统模型适用于idpoly模型对象。这些函数一般有四种类型。

  • 操作并返回的函数idpoly模型对象使您能够转换和操作idpoly模型。例如:

    • 使用合并合并估计idpoly模型。

    • 使用汇集转换idpoly从连续时间到离散时间的模型。使用d2c转换idpoly从离散时间到连续时间的模型。

  • 在上面执行分析和模拟功能的函数idpoly模型,例如波德而且sim卡

  • 检索或解释模型信息的函数,例如建议而且getpar

  • 转换的函数idpoly模型转换成不同的模型类型,例如idtf对于时域或idfrd对于频域

下面的列表包含您可以使用的函数的一个代表性子集idpoly模型。

全部展开

translatecov 在模型转换操作中转换参数协方差
setpar 设置线性模型参数的值和边界等属性
chgTimeUnit 改变动态系统的时间单位
d2d 重新采样离散时间模型
d2c 将模型从离散时间转换为连续时间
汇集 将模型从连续时间转换为离散时间
合并 合并估计模型

全部展开

sim卡 模拟识别模型的响应
预测 利用扩展卡尔曼滤波或无气味卡尔曼滤波或粒子滤波预测下一时刻的状态和状态估计误差协方差
比较 比较确定的模型输出和测量的输出
冲动 动态系统的脉冲响应图;脉冲响应数据
一步 动态系统的阶跃响应图;阶跃响应数据
波德 波德图的频率响应,或幅度和相位数据

全部展开

tfdata 访问传递函数数据
得到 访问模型属性值
getpar 获取线性模型参数的值、边界等属性
getcov 确定模型的参数协方差
建议 对数据或估计线性模型的分析和建议

全部展开

idtf 具有可识别参数的传递函数模型
中的难点 具有可识别参数的状态空间模型
idfrd 频响数据或模型

例子

全部折叠

创建一个idpoly模型表示单输入单输出ARMAX模型,描述如下:

y t + 0 5 y u t + 5 u t - 1 + 2 u t - 2 + e t + 0 01 e t - 1

y 是输出, u 是输入,和 e 白噪音干扰开了吗 y

要创建idpoly模型,定义一个B,C分别描述输出、输入和噪声值之间关系的多项式。因为系统方程中没有分母项,D而且F是1。

A = [1 0.5];B = [1 5 2];C = [1 0.01];

创建一个idpoly用指定的系数建模。

sys = idpoly(A,B,C)
sys =离散时间ARMAX模型:A(z)y(t) = B(z)u(t) + C(z)e(t) A(z) =1 + 0.5 z^-1 B(z) =1 + 5 z^-1 + 2 z^-2 C(z) =1 + 0.01 z^-1采样时间:未指定参数化:多项式阶数:na=1 nb=3 nc=1 nk=0自由系数数:5使用“polydata”、“getpvec”、“getcov”表示参数及其不确定性。现状:由直接构建或改造而产生。不估计。

显示器显示了所有的多项式,并允许您验证它们。显示器还显示有五个自由系数。

创建一个idpoly用指定的噪声方差建模nv和采样时间Ts.为此,还必须包含for的值1D而且F

Ts = 0.1;Nv = 0.01;sys = idpoly(A,B,C,1,1,nv,Ts)
sys =离散时间ARMAX模型:A(z)y(t) = B(z)u(t) + C(z)e(t) A(z) =1 + 0.5 z^-1 B(z) =1 + 5z ^-1 + 2z ^-2 C(z) =1 + 0.01 z^-1采样时间:0.1秒参数化:多项式阶数:na=1 nb=3 nc=1 nk=0自由系数数:5使用"polydata"、"getpvec"、"getcov"表示参数及其不确定性。现状:由直接构建或改造而产生。不估计。

显示屏显示0.1秒的采样时间。

指定一个输入-输出延迟iod的当你创建一个idpoly模型。

Iod = 1;sys = idpoly(A,B,C,1,1,nv,Ts,“IODelay”, 1)
sys =离散时间ARMAX模型:A(z)y(t) = B(z)u(t) + C(z)e(t) A(z) =1 + 0.5 z^-1 B(z) =1 + 5z ^-1 + 2z ^-2 C(z) =1 + 0.01 z^-1输入延迟(按通道列出):1采样时间:0.1秒参数化:多项式阶数:na=1 nb=3 nc=1 nk=0自由系数数:5使用“polydata”、“getpvec”、“getcov”表示参数及其不确定性。现状:由直接构建或改造而产生。不估计。

显示器显示一个样本的输入延迟。

你可以使用sys要指定用于估计的初始参数化,可以使用armax

创建一个idpoly模型表示单输出ARMA模型,描述如下:

y t + 0 5 y e t + 0 01 e t - 1

因为时间序列没有测量的输入,这个模型只包含一个而且C多项式。

A = [1 0.5];C = [1 0.01];

创建一个不指定采样时间的离散时间序列模型。

sys = idpoly(A,[],C)
sys =离散时间ARMA模型:A(z)y(t) = C(z)e(t) A(z) =1 + 0.5 z^-1 C(z) =1 + 0.01 z^-1采样时间:未指定参数化:多项式阶数:na=1 nc=1自由系数数:2使用“polydata”,“getpvec”,“getcov”表示参数及其不确定性。现状:由直接构建或改造而产生。不估计。

显示器反映了您的规格。

的采样时间创建连续时间序列0用于名称-值对参数“t”

sys = idpoly(A,[],C,“t”, 0)
sys =连续时间ARMA模型:A(s)y(t) = C(s)e(t) A(s) = s + 0.5 C(s) = s + 0.01参数化:多项式阶数:na=1 nc=1自由系数数:2参数及其不确定性使用"polydata"、"getpvec"、"getcov"。现状:由直接构建或改造而产生。不估计。

方法设置采样时间Ts输入参数而不是名-值对参数,但是语法更复杂。您必须指定D值作为1或为空,并同时设置F位置和噪声方差位置(如果你没有指定噪声方差)为空。

Ts = 0;sys = idpoly(A,[],C,1,[],[],Ts)
sys =连续时间ARMA模型:A(s)y(t) = C(s)e(t) A(s) = s + 0.5 C(s) = s + 0.01参数化:多项式阶数:na=1 nc=1自由系数数:2参数及其不确定性使用"polydata"、"getpvec"、"getcov"。现状:由直接构建或改造而产生。不估计。

创建一个idpoly模型表示一输入两输出ARMAX模型,由下式描述:

y 1 t + 0 5 y 1 t - 1 + 0 9 y 2 t - 1 + 0 1 y 2 t - 2 u t + 5 u t - 1 + 2 u t - 2 + e 1 t + 0 0 1 e 1 t - 1 y 2 t + 0 0 5 y 2 t - 1 + 0 3. y 2 t - 2 1 0 u t - 2 + e 2 t + 0 1 e 2 t - 1 + 0 0 2 e 2 t - 2

y 1 而且 y 2 这两个输出,和 u 是输入。 e 1 而且 e 2 输出上有白噪声干扰吗 y 1 而且 y 2 ,分别。

要创建idpoly模型,定义一个B,C描述输出、输入和噪声值之间关系的多项式。(因为系统方程中没有分母项,D而且F1)。

属性的系数定义单元格数组一个多项式。

A = cell(2,2);A{1,1} = [1 0.5];A{1,2} = [0 0.9 0.1];A{2,1} = [0];A{2,2} = [1 0.05 0.3];

中的每个条目的值一个由左边的单元阵列描述方程组。例如,{1, 1}描述给出依赖项的多项式 y 1 在本身。这个多项式是 一个 1 1 1 + 0 5 - 1 ,因为的每个因子 - 1 对应于单位时间减量。因此,A{1,1} = [1 0.5]的系数 一个 1 1 的指数增加 - 1

同样的,一个{1,2}描述给出依赖项的多项式 y 1 y 2 .从方程中, 一个 1 2 0 + 0 9 - 1 + 0 1 - 2 .因此,A{1,2} = [0 0.9 0.1]

剩余的条目一个构造相似。

属性的系数定义单元格数组B多项式。

B = cell(2,1);B{1,1} = [1 5 2];B{2,1} = [0 0 10];

B描述给出输出依赖关系的多项式 y 1 而且 y 2 关于输入 u .从方程中, B 1 1 1 + 5 - 1 + 2 - 2 .因此,B{1,1} = [1 5 2]

类似地,从方程中, B 2 1 0 + 0 - 1 + 1 0 - 2 .因此,B{2,1} = [0 0 10]

属性的系数定义单元格数组C多项式。

C = cell(2,1);C{1,1} = [1 0.01];C{2,1} = [1 0.1 0.02];

C描述给出输出依赖关系的多项式 y 1 而且 y 2 在噪声方面 e 1 而且 e 2 .的条目C可以从方程中得到类似于一个而且B

创建一个idpoly用指定的系数建模。

sys = idpoly(A,B,C)
sys =离散ARMAX模型:模型输出1号:一个(z) y_1 (t) = - ai (z) y_i (t) + B (z) u (t) + C (z) e_1 (t) 0.5 (z) = 1 + z ^ 1 A₂(z) = 0.9 z ^ 1 + 0.1 z ^ 2 B (z) = 1 + 5 z ^ 1 + 2 z ^ 2 C (z) = 1 + 0.01 z ^ 1模型输出2号:一个(z) y_2 B (t) = (z) u (t) + C (z) e_2 (t) 0.05 (z) = 1 + z ^ 1 + 0.3 z z ^ 2 B (z) = 10 ^ 2 C (z) = 1 + 0.1 z ^ 1 + 0.02 z ^ 2样品时间:未指定参数化:多项式订单:na = [1 2; 0 2] nb =(3; 1)数控= [1,2]nk =(0, 2)数量的免费系数:12使用“polydata”、“getpvec”、“getcov”表示参数及其不确定性。现状:由直接构建或改造而产生。不估计。

显示器显示了所有的多项式,并允许您验证它们。显示器还显示有12个自由系数。对角线项的前导项一个总是固定为1。中所有其他项的前导项一个总是固定为0。

你可以使用sys要指定用于估计的初始参数化,可以使用armax

用传递函数对动态系统建模。然后使用idpoly将传递函数模型转化为多项式形式。

使用idtf,构造连续时间单输入单输出(SISO)传递函数模型,描述如下:

G 年代 年代 + 4 年代 2 + 20. 年代 + 5

Num = [1 4];Den = [1 20 5];G = idtf(num,den)
G = s + 4 -------------- s^2 + 20 s + 5连续时间识别传递函数。参数化:极点数:2零数:1自由系数数:4参数及其不确定度使用“tfdata”、“getpvec”、“getcov”。现状:由直接构建或改造而产生。不估计。

将传递函数转换为多项式形式。

sys = idpoly(G)
sys =连续时间OE模型:y(t) = [B(s)/F(s)]u(t) + e(t) B(s) = s + 4 F(s) = s^2 + 20 s + 5参数化:多项式阶数:nb=2 nf=2 nk=0自由系数数:4参数及其不确定性使用"polydata"、"getpvec"、"getcov"。现状:由直接构建或改造而产生。不估计。

显示器显示多项式形式和多项式系数。

R2006a之前介绍