主要内容

translatecov

翻译参数协方差模型转换业务

语法

sys_new = translatecov (fcn sys)
sys_new = translatecov (InputN fcn, Input1,…)

描述

sys_new= translatecov (fcn,sys)转换syssys_new = fcn(系统),翻译的参数协方差sys协方差参数的转换模型。fcn是您指定一个转换函数。命令参数协方差的计算sys_new通过应用高斯近似公式。查看翻译参数协方差,使用getcov

直接应用模型转换并不总是翻译原文的参数协方差模型的转换模型。例如,d2c(系统)不翻译的协方差参数sys。相比之下,translatecov (@ (x) d2c (x)系统)产生一个转换模型的系数d2c(系统)转换参数的协方差sys

sys_new= translatecov (fcn,Input1,…, InputN)返回模型sys_new = fcn (InputN Input1…)协方差及其参数。至少一个的N输入必须是线性模型协方差参数信息。

输入参数

fcn

模型转换函数,指定为一个函数处理。

对单输入函数,sys_new = fcn(系统)。的输入fcn必须与参数识别模型协方差信息。典型的输入转换操作包括:

  • 模型类型转换等idpoly中的难点。例如,fcn = @ (x) idpoly (x)转换模型x一个多项式模型。

  • 样品时间转换,如汇集d2c。例如,fcn = @ (x)汇集(x, Ts)将连续时间模型x离散时间使用指定的样品时间Ts

对于多输入功能,sys_new = fcn (Input1 . . InputN)。至少有一个输入参数Input1,…, InputN必须与参数识别模型协方差信息。典型的多输入操作包括合并和连接的多个模型。例如,fcn = @ (x, y) (x, y)执行的水平串联模型xy

sys

线性模型与参数协方差信息,指定为以下模型类型之一:

模型必须包含参数协方差信息,getcov(系统)必须非空的。

Input1,…, InputN

多个输入参数翻译功能fcn。至少一个的N输入必须是一个线性模型与参数协方差信息识别。其他的输入可以是任何MATLAB®数据类型。例如,看到的协方差参数转换成闭环模型

输出参数

sys_new

模型产生的转换操作。协方差模型包括参数信息。

例子

全部折叠

估计传递函数模型转化为同时翻译状态空间模型协方差的估计参数。

估计一个传递函数模型。

负载iddata1sys1 =特遣部队(z1, 2);

估计模型转换为状态空间形式,同时翻译协方差的估计参数。

sys2 = translatecov (@ (x) ids (x) sys1);

如果你直接传递函数模型转换为状态空间形式,协方差估计的参数丢失(的输出getcov是空的)。

sys3 = ids (sys1);getcov (sys3)
ans = []

视图中的参数协方差估计和转换模型。

covsys1 = getcov (sys1);covsys2 = getcov (sys2);

比较自信的地区。

h = bodeplot (sys1 sys2);showConfidence (h, 2);

图包含2轴。轴1的标题:u1: y1包含2线类型的对象。这些对象代表sys1 sys2。轴2包含2线类型的对象。这些对象代表sys1 sys2。

的置信界限sys1sys2

连接3对于模型的协方差数据从3模型结合起来产生的协方差数据生成模型。

构建状态空间模型。

一个= (-1.1008 - 0.3733,0.3733 - -0.9561);b = (0.7254 - 0.7147, -0.0631 - -0.2050);c = [-0.1241 0;1.4897 - 0.6715;1.4090 - -1.2075);d = [0 1.0347;1.6302 0;0.4889 0];sys = idss (a, b, c, d,“t”,0);

生成多输出估计数据。

t = (0:0.01:0.99)”;u = randn (100 2);y = lsim (sys, u, t,“zoh”);y = y +兰德(大小(y)) / 10;data = iddata (y、u, 0.01);

估计一个单独为每个输出信号模型。

m1 = ss(数据(:1:),2,“引线”,真正的(1、2),“DisturbanceModel”,“没有”);m2 = ss(数据(:2:),2,“引线”,真正的(1、2),“DisturbanceModel”,“没有”);m3 = ss(数据(:3:),2,“引线”,真正的(1、2),“DisturbanceModel”,“没有”);

结合协方差估计模型,同时翻译的信息。

f = @ (x, y, z) [x, y, z];M2 = translatecov (f, m1, M2, m3);

协方差参数不是空的。

getcov (M2,“因素”)

如果你直接估计模型合并成一个3-output模型,协方差信息丢失(的输出getcov是空的)。

M1 = (M1, m2, m3);getcov (M1)

比较有信心。

h = bodeplot (M2, m1, M2, m3);showConfidence (h);

的置信界限平方米重叠的m1,平方米m3模型在各自的轴。

考虑一个模型组成的植物和控制器闭环反馈。转化植物的协方差参数的闭环反馈模型。

利用状态空间模型估计植物作为一个四阶估计数据z1

负载iddata1z1工厂= ss (z1, 4);

植物包含参数协方差信息。

创建一个控制器作为一个连续时间zero-pole-gain模型与零,波兰人,增益等于2,-10年,分别为5。

控制器= zpk (-10 5);

定义一个转换函数生成状态空间模型闭环反馈。

fcn = @ (x, y) ids(反馈(x, y));

转化植物的协方差参数的闭环反馈模型。

sys_new = translatecov (fcn、植物、控制器);

sys_new包含翻译参数协方差信息。

情节转换模型的频率特性sys_new,并查看响应的置信区域。

h = bodeplot (sys_new);showConfidence (h);

图包含2轴。轴1的标题:u1: y1包含一个类型的对象。该对象代表sys \ _new。轴2包含了一个类型的对象。该对象代表sys \ _new。

情节展示了不确定性的影响植物在闭环响应。

提示

  • 如果你获得sys通过评估和获得的估计数据,您可以使用zero-iteration更新验算参数协方差。例如:

    负载iddata1m = ss (z1, 4);选择= ssestOptions opt.SearchOptions。MaxIterations = 0;m_new = ss (z1, m2,选择)

    你不能运行一个zero-iteration更新在以下情况下:

    • 如果MaxIterations选项,这取决于SearchMethod选择,是不可用的。

    • 对于一些模型和数据类型。例如,一个连续时间idpoly使用时域数据模型。

算法

translatecov使用单个参数的数值扰动sys计算雅可比矩阵fcn(系统)参数与参数systranslatecov然后应用高斯近似公式 c o v _ n e w = J × × J T 将协方差,J雅可比矩阵。这个操作可以缓慢含有大量的自由参数的模型。

介绍了R2012b