特遣部队
估计传递函数模型
语法
描述
估计传递函数模型
配置初始参数
回归估计初始条件
(
估计初始条件作为回报sys
,集成电路
)=特遣部队(___)initialCondition
对象。如果你打算使用这个语法模拟或预测模型响应输入数据,然后使用相同的估计比较相同的估计输出数据的响应。结合初始条件收益率之间更好的匹配测量和模拟或预测数据在早期阶段的模拟。
例子
指定数量的估计传递函数的极点和零点
加载系统时域响应数据z2
和用它来估计一个传递函数,其中包含两个波兰人和一个零。
负载iddata2z2;np = 2;新西兰= 1;sys =特遣部队(z2, np,新西兰);
sys
是一个idtf
包含估计传递函数模型。
估计传递函数包含已知的传输延迟
加载数据z2
,这是一个iddata
对象包含时域系统响应数据。
负载iddata2z2;
估计一个传递函数模型sys
包含两个波兰人和一个零,其中包括一个已知的传输延迟iodelay
。
np = 2;新西兰= 1;iodelay = 0.2;sys =特遣部队(z2, np,新西兰,iodelay);
sys
是一个idtf
包含估计模型传递函数,IODelay
属性设置为0.2秒。
估计传递函数包含未知的传输延迟
加载系统时域响应数据z2
和用它来估计一个双刀一个0系统的传递函数。为传递函数指定一个未知的运输延迟通过设置的值iodelay
来南
。
负载iddata2z2;np = 2;新西兰= 1;iodelay =南;sys =特遣部队(z2, np,新西兰,iodelay);
sys
是一个idtf
模型包含传递函数估计的IODelay
财产估计使用数据。
估计离散传递函数
负载系统时域响应数据,包含在输入和输出矩阵umat2
和ymat2
。
负载sdata2.matumat2ymat2
估计离散传递函数与两极和一个零。指定样品时间Ts
0.1秒和传输延迟iodelay
2秒。
np = 2;新西兰= 1;iodelay = 2;t = 0.1;sysd =特遣部队(iodelay umat2 ymat2, np,新西兰,“t”Ts)
sysd =从输入“u1”输出“日元”:1.8 z z ^ ^ 1 (2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - 1.418 z ^ 1 + 0.6613 z ^ 2样品时间:0.1秒的离散传递函数。参数化:极数:2 0数量:1很多免费的系数:3使用“tfdata”、“getpvec”、“getcov”参数及其不确定性。状态:使用tf时域数据的估计。适合估算数据:80.26%消防工程:2.095,MSE: 2.063
默认情况下,模型没有直通的,分子多项式估计传递函数的零系数b0
。估计b0
,指定直通的
在估计财产。
估计与直通的离散传递函数
负荷估算数据z5
。
负载iddata5z5
首先,估计一个离散时间传递函数模型与两极,一个零,没有直通的。得到的样品时间Ts
的属性z5
。
np = 2;新西兰= 1;sys =特遣部队(z5、np、新西兰“t”,z5.Ts);
估计传递函数具有以下形式:
默认情况下,模型没有直通的,分子多项式估计传递函数的零系数b0
。估计b0
,指定直通的
在估计财产。
sys =特遣部队(z5、np、新西兰“t”z5.Ts,“引线”,真正的);
传递函数的分子多项式估计现在有一个非零系数主要:
分析延迟测量数据的来源
比较两个离散时间模型和无引线和传输延迟。
如果有延迟的测量输入输出,它可以将缺少引线或归因于一个实际的传输延迟。对于离散时间模型,没有直通的对应于一个滞后的输入和输出之间的一个示例。估计一个模型使用引线= false
和iodelay = 0
从而产生一个离散时间系统,相当于一个系统估计的使用引线= true
和iodelay = 1
。两个系统显示同一时间和频域响应,例如,在一步,预示着阴谋。然而,你会得到不同的结果,如果你减少使用这些模型balred
或将它们转换为连续时间表示。因此,最佳实践是检查是否观察到的延迟可以归因于运输延迟或缺乏引线。
估计没有直通的离散时间模型。
负载iddata1z1np = 2;新西兰= 2;sys1 =特遣部队(z1、np、新西兰“t”,z1.Ts);
因为sys1
没有直通的,因此有一个分子多项式,始于
,sys1
有一个滞后的一个样本。的IODelay
房地产是0。
估计另一个离散时间模型与引线和减少从两个0到1,导致一个示例输入输出延迟。
sys2 =特遣部队(z1, np nz-1 1,“t”z1.Ts,“引线”,真正的);
比较模型的波德反应。
波德(sys1 sys2);
构成系统的离散方程1
和系统2
是等价的,所以是预示反应。
将模型转换为连续时间和比较这些模型的波德反应。
sys1c = d2c (sys1);sys2c = d2c (sys2);波德(sys1c sys2c);传说
图所示,两个模型的波德反应不匹配,当你将它们转换为连续时间。当没有直通的,sys1c
,必须有一些延迟。当有直通的,sys2c
,不可能有延迟。连续时间引线映射到离散时间引线。连续时间延迟映射到离散时间延迟。
估计味噌离散传递函数与引线和延迟规范个人渠道
估计两个输入,一个输出离散传递函数的延迟两个样本在第一输入和零第二输入样本。两个输入没有直通的。
数据和将数据加载到评估和验证数据集。
负载iddata7z7泽= z7(施用);zv = z7 (200:400);
估计两个输入,一个输出传递函数与两极每个input-to-output传递函数和一个零。
延迟= (2;0);英国《金融时报》=(假,假);模型=特遣部队(泽、2、1,“t”z7.Ts,“引线”英国《金融时报》,“InputDelay”、延迟);
的直通的
值你选择决定是否主要分子系数是零(无引线)(非零引线)。延迟通常表达了单独使用InputDelay
或IODelay
财产。这个示例使用InputDelay
只有表达延迟。
验证估计模型。排除数据异常值进行验证。
我= 1:201;我(114:118)= [];选择= compareOptions (“样本”,我);比较(zv、模型选择)
估计使用正规化的脉冲响应模型传递函数模型
确定一个15阶传递函数模型通过使用正规化脉冲响应估计。
加载数据。
负载regularizationExampleDatam0simdata;
获得一个正规化的脉冲响应(杉木)模型。
选择= impulseestOptions (“RegularizationKernel”,“直流”);m0 =冲动(m0simdata, 70年,选择);
模型转化为一个减少为15后传递函数模型。
m = idtf (balred (ids (m0), 15));
模型输出的数据进行比较。
比较(m0simdata, m);
估计传递函数使用估计选项集
创建一个选项设置特遣部队
指定的初始化和搜索方法。还设置显示选项,该选项指定每个迭代的损失函数值被显示。
选择= tfestOptions (“InitializeMethod”,“n4sid”,“显示”,“上”,“SearchMethod”,“lsqnonlin”);
加载系统时域响应数据z2
和用它来估计一个传递函数与两极和零。指定选择
估计的选择。
负载iddata2z2;np = 2;新西兰= 1;iodelay = 0.2;sys =特遣部队(z2、np、新西兰、iodelay选择);
sys
是一个idtf
包含估计传递函数模型。
指定传递函数估计的模型属性
加载系统时域响应数据z2
用它来估计一个两极,一个0传递函数。指定一个输入延迟。
负载iddata2z2;np = 2;新西兰= 1;input_delay = 0.2;sys =特遣部队(z2, np,新西兰,“InputDelay”,input_delay);
sys
是一个idtf
包含估计模型传递函数的输入延迟0.2秒。
频率特性数据转换为传递函数
估计传递函数与已知对多个输入运输延误
加载系统时域响应数据co2data
从两个实验,其中包含的数据,每个都有两个输入和一个输出。第一个实验的数据转换成一个iddata
对象数据
样品时间为0.5秒。
负载co2data;t = 0.5;data = iddata (Output_exp1 Input_exp1, Ts);
指定搜索方法估计选项和输入和输出补偿。还指定搜索迭代的最大数量。
选择= tfestOptions (“SearchMethod”,“玲娜”);opt.InputOffset = (170; 50);opt.OutputOffset =意味着(data.y (1:75));opt.SearchOptions。MaxIterations=50;
估计使用测量数据的传递函数和估计选项集选择
。指定从输入到输出运输延误。
np = 3;新西兰= 1;iodelay = 5 [2];sys =特遣部队(数据、np、新西兰、iodelay选择);
iodelay
指定input-to-output从第一和第二输入输出延迟2秒,5秒,分别。
sys
是一个idtf
包含估计传递函数模型。
估计传递函数与已知和未知的运输延误
负载系统时域响应数据和用它来估计系统的传递函数。指定的已知和未知的运输延误。
负载co2data;t = 0.5;data = iddata (Output_exp1 Input_exp1, Ts);
数据
是一个iddata
对象有两个输入通道和输出通道之一,和它有一个0.5秒的采样率。
创建一个选项设置选择
。指定搜索方法估计选项和输入和输出补偿。还指定搜索迭代的最大数量。
选择= tfestOptions (“显示”,“上”,“SearchMethod”,“玲娜”);opt.InputOffset = [170;50);opt.OutputOffset =意味着(data.y (1:75));opt.SearchOptions。MaxIterations=50;
指定未知和已知的传输延迟iodelay
,使用2
对于一个已知的延迟2秒,南
对未知的延迟。估计传递函数使用iodelay
和选择
。
np = 3;新西兰= 1;iodelay =[2南);sys =特遣部队(数据、np、新西兰、iodelay选择);
sys
是一个idtf
包含估计传递函数模型。
估计与未知的传递函数,约束运输延误
创建一个传递函数模型预期的分子和分母结构和延迟约束。
在这个例子中,实验数据包括两个输入和一个输出。运输延误都是未知的,有一个相同的上界。此外,传递函数从输入到输出在结构上是相同的。
init_sys = idtf (NaN(1、2),(1,南(1、3)),“IODelay”、南);init_sys.Structure (1) .IODelay。自由= true;init_sys.Structure (1) .IODelay。最大= 7;
init_sys
是一个idtf
模型描述的结构传递函数从一个输入到输出。传递函数由一个零,三个波兰人,传输延迟。的使用南
显示未知系数。
init_sys.Structure (1) .IODelay。自由= true
表明,传输延迟是不固定的。
init_sys.Structure (1) .IODelay。最大= 7
设置上限的运输延迟到7秒。
指定传递函数从输入到输出。
init_sys = [init_sys, init_sys];
负载系统时域响应数据和用它来估计一个传递函数。指定选项的tfestOptions
选项设置选择
。
负载co2data;t = 0.5;data = iddata (Output_exp1 Input_exp1, Ts);选择= tfestOptions (“显示”,“上”,“SearchMethod”,“玲娜”);opt.InputOffset = (170; 50);opt.OutputOffset =意味着(data.y (1:75));opt.SearchOptions。MaxIterations=50;sys =特遣部队(数据、init_sys选择);
sys
是一个idtf
包含估计传递函数模型。
分析评估结果相比之下。创建一个compareOptions
选项设置opt2
并指定输入和输出补偿,然后使用比较
。
opt2 = compareOptions;opt2。InputOffset = opt.InputOffset;opt2。OutputOffset = opt.OutputOffset;比较(数据、sys opt2)
传递函数估计含有不同数量的输入-输出对波兰人
对于估计多变量传递函数含有不同数量的波兰人投入产出对给定数据。
获得频率特性数据。
例如,使用的朋友
创建一个数据模型频率特性对以下系统:
使用100频点,从0.01 rad / s - 100 rad / s,得到频率特性数据。
特遣部队(G = {[1 - 2], [5]}, {[1 2 4 5], [1 2 1 1 0]}, 0,“IODelay”0.6 [4]);data =朋友(G, logspace (2100);
数据
是一个的朋友
对象包含的连续时间频率响应G
。
估计的传递函数数据
。
np = [3 - 4];新西兰= [1 0];iodelay = 0.6 [4];sys =特遣部队(数据、np、新西兰,iodelay);
np
指定的极数估计的传递函数。的第一个元素np
表明,第一个输入到输出的传递函数包含三个波兰人。类似的,第二个元素np
表明传递函数从第二个输入输出包含四个波兰人。
新西兰
指定0的数量估计的传递函数。的第一个元素新西兰
表明,第一个输入到输出的传递函数包含一个0。类似的,第二个元素np
表明,第二个输入到输出的传递函数不包含任何零。
iodelay
指定运输延迟从第一个输入输出为4秒。传输延迟从第二个输入到输出被指定为0.6秒。
sys
是一个idtf
包含估计传递函数模型。
估计不稳定系统的传递函数
估计一个传递函数来描述一个不稳定的系统使用频率特性数据。
使用idtf
构建一个传递函数模型G
以下系统:
G = idtf ({[1 - 2], 5}, {[1 2 4 5], [1 2 1 1 1]});
使用idfrd
获得一个频率特性的数据模型数据
为G
。指定100个频率点从0.01 rad / s - 100 rad / s。
data = idfrd (G, logspace (2100);
数据
是一个idfrd
对象。
估计的传递函数数据
。
np = [3 - 4];新西兰= [1 0];sys =特遣部队(数据、np、新西兰);
np
指定的极数估计的传递函数。的第一个元素np
表明,第一个输入到输出的传递函数包含三个波兰人。类似的,第二个元素np
表明传递函数从第二个输入输出包含四个波兰人。
新西兰
指定0的数量估计的传递函数。的第一个元素新西兰
表明,第一个输入到输出的传递函数包含一个0。类似的,第二个元素新西兰
表明,第二个输入到输出的传递函数不包含任何零。
sys
是一个idtf
包含估计传递函数模型。
极(系统)
ans =7×1复杂-1.5260 + 0.0000我-0.2370 + 1.7946 -0.2370 - 1.7946 -1.4656 -1.0000 + 0.0000 + 0.0000我0.2328 + 0.7926我0.2328 - 0.7926
sys
是一个不稳定的系统,随着杆显示显示。
估计使用模态密度高频率响应数据传递函数
加载高密度频率特性测量数据。数据对应于一个不稳定的过程维持在平衡使用反馈控制。
负载HighModalDensityData降维f
作为一个包数据idfrd
对象识别和发现预示级响应。
G = idfrd(排列(润扬悬索桥(1 2 3)),f, 0,“FrequencyUnit”,“赫兹”);bodemag (G)
估计32波兰人和32 0的传递函数,并比较波德级响应。
sys =特遣部队(G, 32岁,32);sys bodemag (G) xlim ([0.01, 2 e3])传奇
获得和应用估计初始条件
数据加载和阴谋。
负载iddata1icz1i情节(z1i)
检查输出数据的初始值y (1)
。
ystart = z1i.y (1)
ystart = -3.0491
测量的输出不从0开始。
估计二阶传递函数sys
并返回估计初始条件集成电路
。
(sys, ic) =特遣部队(z1i 2 1);集成电路
ic = initialCondition属性:答:[2 x2双]X0: [2 x1双]C: [0.2957 - 5.2441] Ts: 0
集成电路
是一个initialCondition
对象,该对象封装了免费的反应sys
在状态方程形式,初始状态向量X0
。
模拟sys
使用估计数据但没有将初始条件。模拟输出和测量输出的阴谋。
y_no_ic = sim (sys, z1i);情节(y_no_ic z1i)传说(“模型响应”,的输出数据)
测量和模拟输出仿真开始时不一致。
合并的初始条件simOptions
选项设置。
选择= simOptions (“InitialCondition”、集成电路);y_ic = sim (sys、z1i选择);情节(y_ic z1i)传说(“模型响应”,的输出数据)
仿真模型结合响应输入信号与自由响应初始条件。测量和模拟输出现在有更好的协议的仿真。这个初始条件是有效的估计数据z1i
。
输入参数
tt
- - - - - -排课估计数据
时间表
|单元阵列的时间表
估计数据,指定为一个均匀采样时间表
包含输入和输出信号变量或multiexperiment数据单元阵列的时间表。
使用整个时间表
如果您想要使用的所有输入和输出变量tt
和组织的变量,输入变量的集合是紧随其后的输出变量的集合,然后:
对于输出系统,指定
tt
作为一个N年代2时间表
,在那里N年代样品的数量和两个吗时间表
变量分别代表了测量输入信号和输出信号。对于MIMO系统,指定
tt
作为一个N年代————(Nu+Ny)时间表
,在那里Nu输入和数量吗Ny是输出的数量。第一个Nu剩下的变量必须包含的输入信号Ny变量必须包含输出信号。当你估计状态空间或传递函数模型时,您还必须显式地指定输入和输出通道,下面的部分将介绍。
对于multiexperiment数据,指定数据作为Ne1单元阵列的时间表,Ne是实验的数量。所有的样品时间实验必须匹配。
使用选定的变量从时间表
如果您想要使用的变量的一个子集时间表
,或者输入和输出变量是混杂在一起的,用的“InputName”
和“OutputName”
名称-值参数指定要使用哪个变量。
例如,假设tt
包含六个变量:“u1”
,“u2”
,“u3”
,“日元”
,“日元”
,“y3”
。估计,你想要使用的变量“u1”
和“u2”
作为输入变量“日元”
和“y3”
作为输出。使用以下命令来执行评估:
sys =特遣部队(tt, __“InputName”,“u1”“u2”,“OutputName”,(“日元”“y3))
关于处理估计数据类型的更多信息,见数据域和数据类型在系统辨识工具箱。
u
,y
- - - - - -依赖于估计的数据
矩阵|细胞矩阵的数组
估计数据,指定输出系统的一对N年代1实值矩阵含有均匀采样输入和输出时域信号值。在这里,N年代是样品的数量。
对于MIMO系统,指定u
,y
作为输入/输出矩阵对以下维度:
u
- - - - - -N年代——- - - - - -Nu,在那里Nu输入的数量。y
- - - - - -N年代——- - - - - -Ny,在那里Ny是输出的数量。
对于multiexperiment数据,指定u
,y
作为一对1×-Ne细胞阵列,Ne是实验的数量。所有的样品时间实验必须匹配。
限制
使用矩阵估计数据不建议连续时间估计由于数据不提供样品时间。软件假定数据采样在1赫兹。对于连续时间估计,建议您将输入和输出矩阵对转换成一个
时间表
。例如,将单列矩阵嗯
和ym
到一个时间表
tt
样品时间为0.5分钟,使用下面的命令。tt =时间表(ym,“rowtimes”分钟(0.5 *(1:尺寸(u, 1))))
关于处理估计数据类型的更多信息,见数据域和数据类型在系统辨识工具箱。
数据
- - - - - -估计数据对象
iddata
对象|的朋友
对象|idfrd
对象
估计数据对象,指定为一个iddata
对象,一个的朋友
对象,或一个idfrd
对象包含均匀采样输入和输出值。默认情况下,软件集的样本时间模型的样本时间估计数据。
对于multiexperiment数据,所有的样品时间和intersample行为实验必须匹配。
对时域估计,数据
必须是一个iddata
对象包含输入和输出信号值。
对频域估计,数据
可以是下列之一:
限制
你不能使用离散频域数据估计连续时间模型。
np
- - - - - -极数
非负整数|矩阵
极数的估计传递函数,指定为非负整数或矩阵。
对系统有多个输入和/或多个输出,您可以应用一个全球价值和个人价值np
对输入/输出,如下:
相同数量的波兰人对于每一对——指定
np
作为一个标量。个人对每一对极数——指定
np
作为一个Ny——- - - - - -Nu矩阵。Ny输出的数量和吗Nu输入的数量。
例如,看到的通过指定极数估计传递函数模型。
新西兰
- - - - - -数量的零
非负整数|矩阵
0的数量估计传递函数,指定为非负整数或矩阵。
的系统多输入、多输出,或者两者都是,您可以应用一个全球价值和个人价值新西兰
对输入/输出,如下:
相同数量的波兰人对于每一对——指定
新西兰
作为一个标量。个人对每一对极数——指定
新西兰
作为一个Ny——- - - - - -Nu矩阵。Ny输出的数量和吗Nu输入的数量。
连续时间模型估计使用离散数据,设置新西兰
< =np
。
对于离散时间模型的评估,指定新西兰
随着零数量的分子多项式的传递函数。例如,特遣部队(tt、2、1, Ts, data.Ts)
估计的传递函数形式
,而特遣部队(tt, 2, 2, Ts, data.Ts)
估计
。在这里,z1是z变换滞后变量。关于离散传递函数的更多信息,请参阅离散时间表示。例如,看到的估计离散传递函数。
iodelay
- - - - - -运输延迟
[]
(默认)|非负整数|矩阵
传输延迟、指定为一个非负整数南
标量或矩阵。
对于连续时间系统,指定运输延误的时间单元中存储TimeUnit
的属性数据
。对于离散时间系统,运输延误指定为整数表示延迟的多个样本Ts
。
分布式天线系统Ny输出和Nu输入,设置iodelay
到一个Ny——- - - - - -Nu数组中。这个数组的每个条目是一个数值,表示相应的输入/输出的传输延迟。你也可以设置iodelay
一个标量值应用相同的所有输入/输出对延迟。
指定的值被视为固定延迟。表示未知的运输延误,指定南
在iodelay
矩阵。
使用[]
或0
表示没有传输延迟。
例如,看到的估计传递函数包含已知的传输延迟。
选择
- - - - - -估计选项
tfestOptions
选项设置
init_sys
- - - - - -配置初始参数的线性系统sys
idtf
模型|线性模型|结构
线性系统,配置的初始参数sys
指定为一个idtf
模型、线性模型或结构。你获得init_sys
通过执行评估使用测量数据或直接施工。
如果init_sys
是一个idtf
模型中,特遣部队
使用的参数值init_sys
作为初始猜测估计sys
。
使用结构
的属性init_sys
配置初始参数值和约束分子,分母和传输延迟。例如:
指定一个初始猜测一个矩阵的
init_sys
,设置init_sys.Structure.Numerator.Value
最初的猜测。指定的约束B矩阵的
init_sys
:集
init_sys.Structure.Numerator.Minimum
最低分子系数值。集
init_sys.Structure.Numerator.Maximum
分子的最大系数值。集
init_sys.Structure.Numerator.Free
表明这对估计分子系数都是免费的。
例如,看到的估计与未知的传递函数,约束运输延误。
如果init_sys
不是一个idtf
模型,软件第一次转换init_sys
传递函数。特遣部队
使用生成的模型的参数估计的初始猜测。
如果你不指定选择
,init_sys
是通过评估而不是建设,软件使用评估选项init_sys.Report.OptionsUsed
。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:sys =特遣部队(数据、np、新西兰,Ts, 0.1)
InputName
- - - - - -输入通道名称
字符串|特征向量|字符串数组|单元阵列的特征向量
输入通道名称,指定为一个字符串,特征向量,特征向量的字符串数组,数组或单元。
如果您正在使用数据源,时间表中的名称InputName
必须的一个子集的时间表变量。
例子:sys =特遣部队(tt, __, InputName, [u1”“u2”])
选择的变量u1
和u2
作为输入通道的时间表tt
用于估计。
OutputName
- - - - - -输出通道名称
字符串|特征向量|字符串数组|单元阵列的特征向量
输出通道名称,指定为一个字符串,特征向量,特征向量的字符串数组,数组或单元。
如果您正在使用数据源,时间表中的名称OutputName
必须的一个子集的时间表变量。
例子:sys =特遣部队(tt, __“OutputName”,(“日元”“y3))
选择的变量日元
和y3
作为输出通道的时间表tt
用于估计。
InputDelay
- - - - - -输入延迟
0
(默认)|标量|向量
为每个输入通道输入延迟,指定为一个标量或数值向量。
对于连续时间模型,指定
“InputDelay”
中存储的时间单位TimeUnit
财产。对于离散时间模型,指定
“InputDelay”
整数倍的样品时间Ts
。例如,设置“InputDelay”
来3
指定一个延迟三个采样周期。
为一个系统Nu输入,设置InputDelay
到一个Nu1的向量。这个向量的每个条目是一个数值,表示相应的输入延迟输入通道。
应用相同的延迟所有渠道,指定InputDelay
作为一个标量。
例如,看到的指定传递函数估计的模型属性。
直通的
- - - - - -直通的离散传递函数
0
(默认)|1
|逻辑矩阵
直通的离散传递函数,指定为一个逻辑标量或一个Ny——- - - - - -Nu逻辑矩阵。Ny输出的数量和吗Nu输入的数量。使用相同的所有输入/输出通道直通的,指定直通的
作为一个标量。
考虑一个离散时间模型与两极和三个零:
当模型直接引线,b0是一个免费的估计参数的值以及模型的其余部分参数b1,b2,b3,a1,a2。当模型没有直通的,b0是固定为零。例如,看到的估计与直通的离散传递函数。
输出参数
sys
——确定传递函数
idtf
模型
确定传递函数,作为一个返回idtf
模型。这个模型是使用指定的模型创建的订单,延误,估计选项。
评估结果和信息存储在选择使用报告
模型的属性。报告
有以下字段。
报告字段 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
状态 |
总结模型的状态,这表明模型是由建设或是否得到评估。 |
||||||||||||||||||
方法 |
评估使用的命令。 |
||||||||||||||||||
InitializeMethod |
算法用于初始化分子和分母估计使用时域数据的连续传输函数,返回以下值之一:
这个字段是特别有用的视图时使用的算法 |
||||||||||||||||||
N4Weight |
当权重矩阵奇异值分解中使用步骤
这个字段是特别有用的视图时使用的加权矩阵 |
||||||||||||||||||
N4Horizon |
向前和向后预测地平线时使用 |
||||||||||||||||||
InitialCondition |
处理初始条件在模型估计,返回以下值之一:
这个领域是特别有用的视图如何处理当初始条件 |
||||||||||||||||||
适合 |
定量评估的评估,作为一个结构返回。看到损失函数和模型质量的指标对这些质量标准的更多信息。结构有以下字段:
|
||||||||||||||||||
参数 |
估计模型参数的值。 |
||||||||||||||||||
OptionsUsed |
选项设置用于估计。如果没有配置自定义选项,这是一组缺省选项。看到 |
||||||||||||||||||
RandState |
的随机数流的估计。空的, |
||||||||||||||||||
DataUsed |
属性的数据用于估计,作为结构与以下字段返回。
|
||||||||||||||||||
终止 |
迭代终止条件搜索用于预测误差最小化,作为结构返回以下字段:
估计方法不需要数值搜索优化 |
使用的更多信息报告
,请参阅评估报告。
集成电路
——初始条件
initialCondition
|对象数组initialCondition
值
估计初始条件,作为一个返回initialCondition
对象或一个对象数组initialCondition
值。
实验数据集,
集成电路
代表,在状态空间形式,自由响应的传递函数模型(一个和C矩阵)估计初始状态(x0)。为综合实验室的数据集Ne实验中,
集成电路
是一个对象数组的长度吗Ne包含一组initialCondition
每个实验值。
如果特遣部队
返回集成电路
的值0
你知道你有非零初始条件,设置“InitialCondition”
选项tfestOptions
来“估计”
并通过更新的选项设置特遣部队
。例如:
选择= tfestOptions (“InitialCondition”,“估计”)(sys、ic) =特遣部队(数据、np、新西兰、选择)
“汽车”
设置“InitialCondition”
使用“零”
方法当初始条件有一个微不足道的影响总体估计误差最小化的过程。指定“估计”
确保软件估算值集成电路
。
有关更多信息,请参见initialCondition
。使用这个参数的一个示例,请参阅获得和应用估计初始条件。
算法
所使用的估计算法的细节特遣部队
取决于各种因素,包括抽样估计的模型和估计数据。
连续时间传递函数估计使用时域数据
估计算法初始化可估计的参数指定的使用方法InitializeMethod
估计的选择。默认的方法工具变量(IV)方法。
可变状态过滤器(SVF)方法和广义泊松时刻函数(GPMF)连续时间参数估计方法使用预滤器数据[1][2]。常数
在[1]和[2]对应于初始化选项(InitializeOptions
)字段FilterTimeConstant
。第四是第四简化精炼方法,叫做SRIVC[3]。这种方法有一个预滤器分母的当前模型,与SVF初始化。这个前置滤波器迭代MaxIterations
次,直到模型变化小于宽容
。MaxIterations
和宽容
选项,您可以指定使用吗InitializeOptions
结构。的“n4sid”
初始化选项估计一个离散时间模型,使用N4SID估计算法,它将连续时间使用d2c
。
使用tfestOptions
创建选项设置用来估计一个传递函数。
初始化参数更新使用非线性最小二乘搜索方法,指定的SearchMethod
估计的选择。搜索方法的目标是最小化加权预测误差准则。
连续时间传递函数估计使用连续时间频率域数据
估计算法执行以下任务:
执行一个双线性映射到变换域(频率的网格)的传递函数。对于连续时间模型,虚轴转换单位圆盘。对于离散时间模型,原始域单元转换到另一个单位磁盘。
执行sk迭代[4]解决非线性最小二乘问题,考虑一个系统对于多输入变量。非线性最小二乘问题是减少损失函数如下:
在这里,W是您指定频率相关的体重。D分母的传递函数模型估计,然后呢N我相对应的分子吗我输入。y和u分别测量输出和输入数据。nf和nu频率和输入的数量,w是频率。重新安排的条款了
执行sk迭代,迭代算法解决
在这里,米是当前迭代,Dm - 1(ω)在上一次迭代分母响应识别。现在的每一步迭代是一个线性最小二乘问题,在确定参数捕获响应D米(ω)和N我,米(ω)为我= 1,2,…nu。初始化迭代通过选择D0(ω)= 1。
第一个迭代算法的标识D1(ω)。的D1(ω)和N我,1(ω)在单项基础多项式表示。
第二个多项式和迭代后表达D米(ω)和N我,米(ω)在单位圆上的理性正交基函数。这些基函数形式
在这里,λj, m - 1是j钢管标识在前一步米1的迭代。λj, m - 1*的共轭复数吗λj, m - 1,问是单位圆上的频域变量。
该算法运行最多20次迭代。迭代终止早期如果损失函数的相对变化值小于0.001,最后三个迭代。
如果您指定界限传递函数系数,这些边界与仿射对应约束识别参数。如果你只有等式约束(固定传递函数系数),相应的平等约束最小二乘问题是用代数方法解决。这样做,软件计算正交依据等式约束矩阵的零空间,然后在这个零空间解决最小二乘问题。如果你有上界或下界在传递函数系数,相应的使用内点法不等式约束最小二乘问题已经解决了。
执行线性细分- sk迭代,即使他们收敛,并不总是产生局部最优解。找到一个临界点的可以产生局部最优解的优化问题,第二组迭代执行。临界点是一组非线性方程组的解。金宝搏官方网站算法搜索一个临界点,先后构建线性近似非线性方程和解决由此产生的线性方程最小二乘意义上的。方程。
方程为jth分母参数:
方程为jth分子参数对应于输入l:
第一个迭代开始时是最好的解决方案发现分子N我和分母D参数在sk迭代。与sk迭代,功能的基础Bj(ω)不改变在每个迭代;基函数的迭代执行,取得了最佳的解决方案在sk迭代。和之前一样,最多20个迭代算法运行。迭代终止早期如果损失函数的相对变化值小于0.001,最后三个迭代。
如果您指定界限传递函数系数,这些界限纳入必要的使用广义拉格朗日乘数法最优性条件。由此产生的约束线性最小二乘问题就可以使用相同的方法来解决在sk迭代步骤解释道。
返回相对应的传递函数参数最优解- sk)和线性优化迭代步骤并不能保证损失函数值的改善。算法跟踪这些步骤期间观察到的最佳参数值,并返回这些值。
反在步骤1中执行的双线性映射。
执行迭代改进的传递函数参数中指定使用非线性最小二乘搜索方法
SearchMethod
估计的选择。这一步是实现下列情形:当你指定
EnforceStability
评估选择真正的
请求(稳定),第五步的结果这个算法是一个不稳定的模型。稳定边界和内部的不稳定极点反映所得的参数迭代改进。估计信息选项,请参阅tfestOptions
。当你添加一个正规化罚款损失函数使用
正则化
估计的选择。关于正则化的一个例子,看看正规化的动态系统的识别。你估计一个连续时间模型使用离散数据(见使用离散频域数据离散传递函数估计)。
您使用频域输入/输出数据来确定多输入模型。
如果您使用的是R2016a或更早的估计算法(见tf估计算法更新)估算一个连续时间模型使用连续时间频率域数据,然后连续时间数据和固定延迟,输出误差算法用于模型估计。连续时间数据和免费延迟,使用了状态估计算法。在这个算法中,初始化使用N4SID估计模型系数的方法。这个初始化是紧随其后的是非线性最小二乘搜索更新加权预测误差范数最小化。
使用离散频域数据离散传递函数估计
估计算法是一样的连续时间传递函数估计使用连续时间频率域数据,除了使用离散数据。
如果您使用的是R2016a或更早的估计算法(见tf估计算法更新),该算法是一样的使用时域数据离散传递函数估计算法。
请注意
这个软件不支持使用连续时间频域数据的离散传递金宝app函数估计。
连续时间传递函数估计使用离散频域数据
的特遣部队
命令首先估计一个离散时间模型的离散数据。然后估计模型转换为连续时间模型使用d2c
命令。生成的连续时间模型的频率响应计算的电网频率估计数据。的连续时间模型所需的(指定)结构是适合这个频率响应。使用频率特性数据的估计算法得到连续时间模型的算法是一样的连续时间传递函数估计使用连续时间数据。
如果您使用的是R2016a或更早的估计算法(见tf估计算法更新),状态估计算法是用于估计从离散数据连续时间模型。在这个算法中,初始化使用N4SID估计模型系数的方法。这个初始化是紧随其后的是非线性最小二乘搜索更新加权预测误差范数最小化。
延迟估计
当延迟值被指定为
南
,软件使用延迟
从模型分别估计分子和分母系数。特遣部队
然后把这些延迟值作为固定的迭代更新模型的其余部分。因此,延迟值没有迭代更新。默认情况下,离散数据(
Ts
> 0),延迟
限制了搜索延迟一系列0 30样品。对于连续时间模型,这翻译到0 30不等Ts
时间单位。对于连续时间的数据(Ts
= 0),延迟
限制搜索范围清廉的时间单位。你可以改变这些限制,首先创建一个模板模型init_sys
使用idtf
然后,设置的值init_sys.Structure.IODelay.Minimum
和init_sys.Structure .IODelay.Maximum (i, j)
。对于一个初始模型,
init_sys
,:init_sys.Structure.IODelay.Value
指定为有限值init_sys.Structure.IODelay.Free
指定为真正的
初始延迟值保持不变。
延迟估计通常是一个困难的问题。一个最佳实践是评估延迟的存在和价值。为此,使用物理洞察力的过程建模和等功能arxstruc
,延迟
,冲动
。确定输入延迟的一个例子,看到模型结构选择:决定模型秩序和输入延迟。
引用
[1]加尼叶,H。,M. Mensler, and A. Richard. “Continuous-Time Model Identification from Sampled Data: Implementation Issues and Performance Evaluation.”76年国际期刊的控制,没有。(2003年1月13日):1337 - 57。https://doi.org/10.1080/0020717031000149636。
[2]Ljung Lennart。“实验与连续时间模型的识别。”IFAC诉讼卷42岁的没有。10 (2009):1175 - 80。https://doi.org/10.3182/20090706 - 3 - fr - 2004.00195。
年轻的[3],彼得,安东尼Jakeman。“精制的工具变量方法递归的时间序列分析第三部分。扩展。”国际期刊的控制31日。4(1980年4月):741 - 64。https://doi.org/10.1080/00207178008961080。
[4]Drmač,Z。,S. Gugercin, and C. Beattie. “Quadrature-Based Vector Fitting for Discretized H2近似。”暹罗期刊在科学计算37岁的没有。2(2015年1月):A625-52。https://doi.org/10.1137/140961511。
[5]奥兹德米尔、阿尔和Suat Gumussoy。“在系统辨识工具箱通过传递函数估计矢量拟合。”IFAC-PapersOnLine50,不。1(2017年7月):6232 - 37。https://doi.org/10.1016/j.ifacol.2017.08.1026。
版本历史
介绍了R2012aR2022b:时域估计数据被接受的时间表和矩阵
大多数评估、验证、分析和效用函数现在接受时域输入/输出数据的形式一个时间表包含输入和输出数据或一对矩阵分别包含输入和输出数据。这些函数继续接受iddata
对象作为数据源,对时域和频域数据。
R2018a:高级选项弃用SearchOptions
当SearchMethod
是“lsqnonlin”
规范的lsqnonlin
弃用相关高级选项,包括选择估计使用时调用并行处理lsqnonlin
搜索方法,或解决,优化工具箱™。
R2016b:特遣部队
估计算法更新
从R2016b开始,一个新的算法来执行从频域数据传递函数估计。你可能会看到与新算法更快和更准确的结果,特别是对于数据和动力学在大范围的频率和振幅。然而,评估结果可能从以前版本不匹配的结果。使用先前的估计算法进行估计,附加“-R2016a”
的语法。
例如,假设你估计一个传递函数模型np
波兰人使用频域数据数据
。
sys =特遣部队(数据、np)
使用先前的估计算法,使用以下语法。
sys =特遣部队(数据、np、“-R2016a”)
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。