主要内容

idproc

连续时间过程模型与可识别参数

描述

一个idproc模型表示一个系统的连续时间过程模型可估计的系数。使用idproc创建一个流程模型。

一个简单的流程模型的输出增益,时间常数,和延迟:

年代 y 年代 = K p 1 + T p 1 年代 e T d 年代

Kp是一个比例增益,Tp1的时间常数是真正的钢管,Td传输延迟(死亡时间)。

更普遍的是,idproc流程模型可以代表三个波兰人和一个零:

年代 y 年代 = K p 1 + T z 年代 ( 1 + T p 1 年代 ) ( 1 + T p 2 年代 ) ( 1 + T p 3 年代 ) e T d 年代

的两个极点可以一对共轭复数(阻尼不足的)。在这种情况下,流程模型的一般形式是:

年代 y 年代 = K p 1 + T z 年代 ( 1 + 2 ζ T ω 年代 + ( T ω 年代 ) 2 ) ( 1 + T p 3 年代 ) e T d 年代

Tω是复杂的时间常数对波兰人和ζ是相关的阻尼常数。

此外,任何idproc模型可以有一个积分器。例如,下面是一个过程模型,可以表示idproc:

年代 y 年代 = K p 1 年代 ( 1 + 2 ζ T ω 年代 + ( T ω 年代 ) 2 ) e T d 年代

这个模型没有零(Tz= 0)和一双复杂的波兰人。模型也有集成商,由1 /年代术语。

idproc延迟模型,所有的时间常数,比例增益和阻尼系数可以有价值的参数。的idproc模型的这些参数的值存储在属性模型等Kp,Tp1,ζ。(见属性为更多的信息。)

天线系统流程模型包含一个流程模型的输出对应于每个输入/输出对系统中。为idproc模型中,每一对输入/输出的形式都可以独立地指定。例如,两个输入,一个输出过程可以有一个通道与两极和不为零,零,另一个通道,一个杆和一个积分器。所有的系数都是独立的有价值的参数。

创建

有两种方法可以获得一个idproc模型:

  • 估计idproc模型基于输入/输出的测量系统使用过程命令。过程估计自由参数的值,如增益、时间常数,和时间延迟。估计的值被存储为属性产生的idproc模型。例如,属性sys.Tzsys.Kp一个idproc模型sys存储0时间常数和比例增益,分别。的报告结果模型的属性存储的信息估计,如处理初始条件和选项用于估计。例如,您可以使用以下命令来估计,得到一阶过程模型的信息。

    sys =过程(数据,“P1”);kp =系统。Kpsys。报告
    更多信息idproc属性,看到属性

    当你获得一个idproc模型的估计,可以提取使用命令估计系数和模型的不确定性等getpargetcov

  • 创建一个idproc模型使用idproc命令。

    您可以创建一个idproc模型配置流程模型的初始参数估计。当你这样做时,你可以指定约束参数。例如,您可以修复一些系数的值或指定最小或最大自由系数值。然后,您可以使用配置的模型作为输入参数过程估计参数值与约束。例如,修复的价值Tp11和限制的价值Kp1一个范围的(0.3 - 0.6)

    init_sys.Structure。Tp1 = 1;init_sys.Structure.Tp1。自由= False;init_sys.Structure.Kp1。最小值= 0.3;init_sys.Structure.Kp1。Max = 0.6;sys =过程(数据、init_sys)
    有关配置和使用一个初始参数的更多信息,见过程

对于信息功能您可以使用从或变换来提取信息idproc模型对象,看对象的功能

描述

例子

sys= idproc(类型)创建了一个连续时间过程模型与可估计的参数和设置类型财产。类型指定方面的模型结构,如极数的模型,模型包括一个积分器,是否,是否模型包括一个时间延迟。

sys= idproc(类型,名称,值)创建一个流程模型的属性指定一个或多个名称参数。

属性

全部展开

模型结构,指定为一个特征向量,字符串,或单元阵列特征向量或字符串。

输出模型sys,房地产sys.Type向量包含一个字符或字符串指定的结构系统。例如,“P1D”指定一个流程模型与一个杆和一个时间延迟。

MIMO模型纽约输出和ν输入,sys.Type是一个纽约——- - - - - -ν单元阵列特征向量或字符串指定的结构模型中的每一对输入/输出。例如,类型{i, j}指定子系统的结构系统(i, j)jth的输入输出。

类型规范是由一个或多个字符指定方面模型的结构:

字符 意义
Pk 一个过程模型k波兰人(不包括一个积分器)。k是0、1、2或3。
Z 流程模型包含一个零(Tz≠0)类型P0不能包含Z(没有两极的流程模型不能包含一个零)。
D 流程模型包含一个时间延迟(死亡时间)。
流程模型包含一个积分器(1 /年代)。
U 欠阻尼的流程模型。在这种情况下,过程模型包括一双复杂的波兰人

每一个类型规范必须开始的P0,P1,P2,或P3。所有其他字符是可选的。例如:

  • “P1D”指定一个流程模型与一个极和空载条件:

    年代 y 年代 = K p 1 + T p 1 年代 e T d 年代

    Kp,Tp1,道明这个模型的有价值的参数。

  • “P2U”创建一个流程模型与一双复杂的两极:

    年代 y 年代 = K p ( 1 + 2 ζ T ω 年代 + ( T ω 年代 ) 2 )

    Kp,太瓦,ζ这个模型的有价值的参数。

  • “P3ZDI”创建一个流程模型和三个波兰人。所有波兰人是真实的,因为U不包括。模型还包含了一个零,时间延迟,和一个积分器:

    年代 y 年代 = K p 1 + T z 年代 年代 ( 1 + T p 1 年代 ) ( 1 + T p 2 年代 ) ( 1 + T p 3 年代 ) e T d 年代

    这个模型的有价值的参数Kp,Tz,Tp1,Tp2,Tp3,道明

所有参数的值在一个特定的模型结构初始化。你可以改变他们有限的值通过设置相应的值idproc模型属性在您创建模型。例如,sys。道明=5设置初始值的时间延迟sys5时间单位。

天线系统的过程模型纽约输出和ν输入,类型是一个纽约——- - - - - -ν单元阵列特征向量或字符串指定的结构模型中的每一对输入/输出。例如,类型{i, j}指定了类型的子系统系统(i, j)jth的输入y输出。

如果你创建一个idproc模型sys使用idproc命令,sys.Type包含指定的模型结构类型输入参数。

如果你得到一个idproc模型通过识别使用过程,然后sys.Type包含指定的模型结构,识别。

一般来说,你不能改变现有的模型的类型。但是,你可以改变模型包含一个积分器是否通过使用属性sys.Integration

为指定的例子类型不同的模型结构,请参阅:

例子:类型= idproc (“P2DU”)

例子:type = {" P2ZDI”;“P2Z”;“P2ZI”};sys = idproc(类型)

流程模型的参数值,指定为年代,数字标量,细胞数组,或0如果你使用。idproc命令来创建一个idproc您指定的模型和模型结构类型,所有参数的值出现在模型结构初始化默认情况下。没有出现在模型结构参数的值是固定的0。例如,如果你创建一个模型sys类型的“P1D”,然后Kp,Tp1,道明正在初始化和参数识别(免费)。所有剩余的参数,如Tp2Tz在模型中是不活跃的。不活跃的参数的值是固定的为零,不能改变。

MIMO模型纽约输出和ν是一个输入,每个参数值纽约——- - - - - -ν单元阵列特征向量或字符串指定为每个输入/输出相应的参数值对模型中。例如,sys.Kp (i, j)指定了Kp价值的子系统系统(i, j)jth的输入输出。

对于一个idproc模型sys,每个参数值等属性sys.Kp,sys.Tp1,sys.Tz,其他的是相应的别名价值条目的结构的属性sys。例如,sys.Tp3一个别名财产的价值吗sys.Structure.Tp3.Value

积分器存在指标,指定为一个逻辑值或矩阵,表示一个积分器的存在与否的过程的传递函数模型。

输出模型sys,sys.Integration=真正的如果模型包含一个积分器。

对于一个MIMO模型,sys.Integration (i, j)=真正的如果的传递函数jth的输入输出包含一个积分器。

当您创建一个流程模型使用idproc命令,的价值sys.Integration取决于是否对应类型包含

噪声传递函数的系数,指定的结构形式结构(“num”{num2cell ((Ny, 1))},“窝”,{num2cell ((Ny, 1))})sys.NoiseTF存储的分子和分母多项式系数噪声传递函数H(年代)=N(年代)/D(年代)。

sys.NoiseTF是一个结构域全国矿工工会。每个字段是一个细胞的数组Ny行向量,Ny输出的数量吗sys。这些行向量指定噪声传递函数系数的分子和分母的降幂年代

通常,估计的噪声传递函数自动计算功能过程。您可以指定一个噪声传递函数过程使用作为一个初始值。例如:

NoiseNum = {2.2 [1];0.54 [1]};NoiseDen = {1.3 [1];[1 - 2]};NoiseTF =结构(“num”{NoiseNum},“穴”,{NoiseDen});sys = idproc ({“p2”;“p1di”});% 2-output, 1-input流程模型sys.NoiseTF=NoiseTF;

每一个向量sys.NoiseTF.numsys.NoiseTF.den一定长度的3或更少(二阶年代或更少)。每个向量都必须从1开始。分子一个向量的长度必须相等,对应的分母向量,这样H(年代)总是biproper。

调控房地产的有价值的参数信息idproc模型,指定为一个结构。

sys.Structure包含一个条目,每个参数的模型结构sys。例如,如果sys的类型是“P1D”,然后sys包括可估计的参数Kp,Tp1,道明。相应地,sys.Structure.Kp,sys.Structure.Tp1,sys.Structure.Td分别包含这些参数信息。

这些参数条目sys.Structure包含以下字段。

描述 例子
价值 参数值 sys.Structure.Kp.Value包含的初始或估算值Kp参数。在输出的情况下,sys.Kp这个属性的值是一个别名。在分布式天线的情况下,sys.Kp {i, j}属性的别名吗sys.Structure .Kp.Value (i, j)
最低 最小值,可以假设在估计参数。 sys.Structure.Kp。最小值= 1限制了比例增益值大于或等于1。
最大 最大值在估计参数可以假设。 sys.Structure.Kp。最大= 2限制了比例增益值小于或等于2。
免费的 布尔值指定是否免费评估变量参数。如果你想修复的价值在估计参数,设置相应的免费的价值

以下命令修复死时间道明5

sys。道明=5;sys.Structure.Td。自由= false;

规模 参数的值的范围。估计算法不使用规模
信息 结构数组包含字段标签单位用于存储参数标签和单位。指定参数标签和单位特征向量。 sys.Structure.Td。信息=年代truct("Label","Delay","Unit","seconds")商店的标签和单位延迟道明在几秒钟内。

结构还包括一个字段集成存储逻辑数组表示是否每个相应的过程模型有一个积分器。sys.Structure.Integration是一个别名sys.Integration

MIMO模型纽约输出和ν输入,结构是一个纽约——- - - - - -ν数组中。的元素结构(i, j)包含信息对应的流程模型(i, j)输入/输出。

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

  • 输出模式——标量

  • 再分配模型Ny输出-Ny——- - - - - -Ny半正定矩阵

一个识别模型包括一个高斯白噪声分量e(t)。NoiseVariance是这个噪声分量的方差。通常,模型估计函数(如过程)确定方差。

这个属性是只读的。

总结报告,其中包含的信息评估流程模型时选择和结果得到使用过程估计命令。使用报告查询如何估计的模型,包括:

  • 估算方法

  • 估计选项

  • 搜索终止条件

  • 评估数据和其他质量指标

如果您创建的模型建设的内容报告是无关紧要的。

m = idproc (“P2DU”);m.Report.OptionsUsed
ans = []

如果你使用估计命令获取流程模型,领域的报告包含信息的评估数据,选择,和结果。

负载iddata2z2;m = proc (z2,“P2DU”);m.Report.OptionsUsed
DisturbanceModel:“估计”InitialCondition:‘汽车’专注:“预测”EstimateCovariance: 1显示:“关闭”InputOffset: [1 x1参数。连续]OutputOffset:[]正规化:[1 x1 struct] SearchMethod:“汽车”SearchOptions: [1 x1 idoptions.search。identsolver] OutputWeight:[]先进:[1 x1 struct]

有关这个属性的更多信息,以及如何使用它,请输出参数部分相应的估计和命令参考页面评估报告

为每个输入通道输入延迟,指定为一个标量值或数值向量。指定输入延迟中存储的时间单位TimeUnit财产。

为一个系统Nu输入,设置InputDelay到一个Nu1的向量。这个向量的每个条目是一个数值,表示相应的输入延迟输入通道。

你也可以设置InputDelay一个标量值应用相同的延迟所有频道。请注意,InputDelay是独立于道明动态属性,代表可尊敬的IO延迟。InputDelay不是一个有价值的参数。的总延迟对应于这些属性值的总和。

识别系统等idproc,OutputDelay是固定为零。

样品时间。为idproc,Ts固定为零,因为所有吗idproc连续时间模型。

模型时间单位,指定这些值之一:

  • “纳秒”

  • 微秒的

  • 的毫秒

  • “秒”

  • “分钟”

  • “小时”

  • “天”

  • “周”

  • “月”

  • “年”

您可以指定TimeUnit使用一个字符串,如“小时”,但是时间单位是存储为特征向量,“小时”

模型属性比如样品时间Ts,InputDelay,OutputDelay和其他时间延迟在指定的单位表示TimeUnit。改变对其他属性,这个属性没有影响,因此改变整个系统的行为。使用chgTimeUnit时间单位,无需修改系统行为之间的转换。

输入通道的名字,指定这些值之一:

  • 特征向量,输入模型

  • 单元阵列特征向量,与两个或两个以上的输入模型

  • 没有指定名称——输入

您可以使用自动分配向量扩张输入名字多输入模型。例如,如果sys是一个两个输入模型中,输入:

sys.InputName=“控制”;

输入名称自动扩大{“控制(1)”,“控制”(2)}

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

输入通道名称有几种用途,包括:

  • 识别频道模型显示和阴谋

  • 提取MIMO系统的子系统

  • 当互连模型指定连接点

您可以指定InputName使用一个字符串,如“电压”,但输入的名字存储为特征向量,“电压”

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

单位的输入信号,指定这些值之一:

  • 特征向量,输入模型

  • 单元阵列特征向量,与两个或两个以上的输入模型

  • ——输入未经指定单位

使用InputUnit跟踪每个输入信号表示在单位。InputUnit没有对系统行为的影响。

您可以指定InputUnit使用一个字符串,如“电压”,但输入单位被存储为一个特征向量,“电压”

例子:“电压”

例子:{“电压”,“转”}

输入通道组,指定为一个字段的结构组名称和值输入通道的指标属于相应的组。当你使用InputGroup将MIMO系统的输入通道分配给组,您可以参考每个小组的名字当您需要访问它。例如,假设您有一个5个输入模型sys,前三个输入控制输入和剩下的两个输入代表噪音。分配的控制和噪声的输入sys分离群体。

sys.InputGroup。控制= [1:3];sys.InputGroup。噪音= [4 - 5];

使用组名来提取子系统的控制输入输出。

sys (:,“控制”)

例子:结构(“控制”,[1:3],“噪声”,[4 - 5])

输出通道的名字,指定这些值之一:

  • 特征向量,对于模型

  • 单元阵列模型与两个或两个以上的特征向量,输出

  • ——输出没有指定名称

您可以使用自动分配向量扩张输出名称多输出模型。例如,如果sys是一个两个输出模型,输入:

sys.OutputName=“测量”;

输出名称自动扩大{“测量(1)”,“测量”(2)}

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

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

  • 识别频道模型显示和阴谋

  • 提取MIMO系统的子系统

  • 当互连模型指定连接点

您可以指定OutputName使用一个字符串,如“转”,但输出的名字存储为特征向量,“转”

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

单位的输出信号,指定这些值之一:

  • 特征向量,对于模型

  • 单元阵列模型与两个或两个以上的特征向量,输出

  • ——输出没有指定单位

使用OutputUnit跟踪每个输出信号表示在单位。OutputUnit没有对系统行为的影响。

您可以指定OutputUnit使用一个字符串,如“电压”,但输出单位被存储为一个特征向量,“电压”

例子:“电压”

例子:{“电压”,“转”}

输出通道组,指定为一个字段的结构组名称和值是输出通道的指标属于相应的组。当你使用OutputGroup将MIMO系统的输出通道分配给组,您可以参考每个小组的名字当您需要访问它。例如,假设您有一个output模型sys,第二个输出是一个温度,其余的都是测量状态。这些输出分配给单独的组。

sys.OutputGroup。temperature = [2]; sys.OutputGroup.measurements = [1 3 4];

使用组名来提取子系统从所有测量的输入输出。

系统(“测量”:)

例子:结构(“温度”,[2],“测量”,[1 3 4])

模型名称,存储为一个特征向量。您可以指定的名字使用一个字符串,如“DCmotor”,但输出单位被存储为一个特征向量,“DCmotor”

例子:“system_1”

对模型的文本笔记,存储为一个字符串或一个单元阵列的特征向量。这两个数据类型的属性存储任何你提供的。例如,假设sys1sys2动态系统模型,并设置笔记属性到一个字符串和一个特征向量,分别。

sys1。笔记=“sys1字符串。”;sys2。Notes =sys2有一个特征向量。;sys1。笔记sys2。Notes
ans =“sys1字符串。”ans = sys2有一个特征向量。

任何类型的数据,你想把和存储与模型,指定为任何MATLAB®数据类型。

采样网格模型数组,指定为一个结构。确定线性数组(IDLTI)模型,导出了采样一个或多个自变量,这个属性与每个模型相关的变量值。这个信息显示或绘制模型时出现数组。使用此信息来跟踪结果返回给独立变量。

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

举个例子,如果你收集数据在不同操作系统的点,您可以确定一个模型分别为每个操作点,然后叠加结果数组组合进一个系统。你可以标记数组中的单个模型信息操作要点:

nominal_engine_rpm = (1000 5000 10000);sys。SamplingGrid =结构(“转”nominal_engine_rpm)

在哪里sys是一个数组包含三种识别模型获得在1000 rpm,分别为5000和10000。

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

对象的功能

一般来说,适用于任何函数动态系统模型适用于一个idproc模型对象。这些函数的四个一般类型。

  • 并返回操作的函数idproc模型对象允许您改变和操作idproc模型。例如,使用合并合并估计idproc模型。

  • 函数执行分析和仿真功能idproc对象,如波德sim卡

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

  • 功能转换idproc对象到一个不同的模型类型,例如idpoly时间域或idfrd对频域

下面的列表包含一个代表功能的子集,您可以使用idproc模型。

全部展开

translatecov 翻译参数协方差模型转换业务
setpar 设置属性,如线性模型参数的值和范围
chgTimeUnit 改变时间单位的动态系统
合并 合并估计模型

全部展开

sim卡 确定模型的模拟响应
预测 预测状态和状态估计误差协方差在下次一步使用扩展或无味卡尔曼滤波、粒子滤波
比较 比较确定了模型输出和测量输出
冲动 脉冲响应的动态系统;脉冲响应数据
一步 阶跃响应的动态系统;阶跃响应数据
波德 波德图的频率响应,或大小和相位数据

全部展开

tfdata 传递函数数据的访问
得到 访问模型属性值
getpar 获取属性,如线性模型参数的值和范围
getcov 参数识别模型的协方差
建议 数据或估计线性模型分析和建议

全部展开

idtf 传递函数模型与可识别参数
idpoly 多项式模型可识别参数
中的难点 与可识别的状态空间模型参数
idfrd 频率响应数据或模型

例子

全部折叠

创建一个流程模型与一双复杂的波兰人和时间延迟。模型的初始值设置为以下几点:

年代 y 年代 = 0 0 1 1 + 2 ( 0 1 ) ( 1 0 ) 年代 + ( 1 0 年代 ) 2 e - - - - - - 5 年代

创建一个与指定的流程模型结构。

sys = idproc (“P2DU”)
sys =流程模型传递函数:Kp G (s) = - - - - - - - - - - - - - - - - - - - - - - - * exp (Td * s) 1 + 2 *ζ* Tw * s + (Tw * s) ^ 2 Kp =南Tw Td = =南ζ=南南参数化:{“P2DU”}很多免费的系数:4使用“getpvec”、“getcov”参数及其不确定性。状态:由直接建设或转换。不估计。

输入“P2DU”指定一个欠阻尼的波兰人和时间延迟。显示器显示sys所需的结构。显示也显示,四个自由参数,Kp,太瓦,ζ,道明都是初始化

所有参数的初始值设置为所需的值。

sys.Kp=0。01;sys。太瓦=10;sys。ζ= 0.1; sys.Td = 5;

您可以使用sys指定这个参数化和这些过程模型估计的初始猜测过程

创建一个输入三输出过程模型,每个通道有两个真正的波兰人和零,但只有第一个通道有一个时间延迟,和只有第一个和第三个通道有一个积分器。

类型= [“P2ZDI”;“P2Z”;“P2ZI”];sys = idproc(类型)
求和sys = 3输出过程模型:k = Gk (s)从输入1输出1 u: 1 + Tz * s G1 (s) = Kp * - - - - - - - - - - - - - - - - - - - * exp (Td *)年代(1 + Tp1 * s) (1 + Tp2 * s) Kp =南Tp1 Td =南Tz = =南Tp2 =南南从输入1输出2:1 + Tz * s G1 (s) = Kp * - - - - - - - - - - - - - - - - - - (1 + Tp1 * s) (1 + Tp2 * s) Kp =南Tp1 =南Tp2 =南Tz =南从输入1输出3:1 + Tz * s G1 (s) = Kp * - - - - - - - - - - - - - - - - - - - s (1 + Tp1 * s) (1 + Tp2 * s) Kp =南Tp1 =南Tp2 =南Tz =南参数化:{“P2DIZ”} {‘P2Z} {‘P2IZ}很多免费的系数:13使用“getpvec”、“getcov”参数及其不确定性。状态:由直接建设或转换。不估计。

idproc创建一个分布式天线模型,向量的每个字符类型数组定义的结构对应的I / O。自类型是一个列向量的特征向量,sys是一个一个输入三输出模型指定的参数化结构。类型{k, 1}指定子系统的结构sys (k, 1)。所有可识别的参数初始化

创建一个3×1的流程模型,每个包含一个输出和两个输入通道。

指定数组中的每个模型的结构流程模型。

类型1 = (“P1D”,“P2DZ”];类型2 = [“P0”,“P3UI”];type3 = [“P2D”,“P2DI”];类型=猫(3,type1, type2 type3);大小(类型)
ans =1×31 2 3

使用类型创建数组。

sysarr = idproc(类型);

第一个细胞的二维数组类型设置每个模型的输出和输入维数组的流程模型。其余尺寸单元阵列设置数组的维度。因此,sysarr三个模型的两个输入,一个输出流程模型。

从数组中选择一个模型。

sysarr (:: 2)
ans =流程模型与2输入:y = G11 (s) u1 + G12 (s) u2从输入1输出1:为G11 (s) = Kp Kp =南从输入2输出1:Kp G12 (s) = - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - s(1 + 2 *ζ* Tw * s + (Tw * s) ^ 2) (1 + Tp3 * s) Kp =南Tw =南ζ=南Tp3 =南参数化:{“P0”} {‘P3IU}很多免费的系数:5使用“getpvec”、“getcov”参数及其不确定性。状态:由直接建设或转换。不估计。

对应于这两个输入,一个输出模型类型2条目的类型单元阵列。

版本历史

之前介绍过的R2006a