主要内容

translatecov

跨模型转换操作转换参数协方差

语法

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

描述

sys_new= translatecov (fcnsys转换sysSys_new = fcn(sys)的参数协方差sys变换后模型的参数协方差。fcn是指定的转换函数。的参数协方差sys_new通过应用高斯近似公式。要查看转换后的参数协方差,请使用getcov

直接应用模型转换并不总是将原始模型的参数协方差转换为转换后的模型的参数协方差。例如,d2c(系统)的参数协方差不平移sys.相比之下,translatecov (@ (x) d2c (x)系统)生成一个转换后的模型,其系数与d2c(系统)的平移参数协方差sys

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

输入参数

fcn

模型转换函数,指定为函数句柄。

对于单输入函数,Sys_new = fcn(sys).的输入fcn必须是具有参数协方差信息的已识别模型。典型的单输入转换操作包括:

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

  • 样本时间转换,如汇集而且d2c.例如,fcn = @(x)c2d(x,Ts)转换连续时间模型x使用指定的采样时间来离散时间Ts

对于多输入函数,sys_new = fcn(Input1,..InputN).至少一个输入参数Input1,…,InputN必须是具有参数协方差信息的已识别模型。典型的多输入操作包括合并和连接多个模型。例如,FCN = @(x,y)[x,y]执行模型的水平连接x而且y

sys

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

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

Input1,…,InputN

转换函数的多个输入参数fcn.至少有一个N输入必须是具有参数协方差信息的线性识别模型。其他输入可以是任何MATLAB®数据类型。示例请参见将参数协方差转化为闭环模型

输出参数

sys_new

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

例子

全部折叠

将估计的传递函数模型转换为状态空间模型,同时转换估计的参数协方差。

估计一个传递函数模型。

负载iddata1Sys1 = tfest(z1,2);

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

Sys2 = translatecov(@(x)idss(x),sys1);

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

Sys3 = idss(sys1);getcov (sys3)
Ans = []

查看估计和转换模型中的参数协方差。

Covsys1 = getcov(sys1);Covsys2 = getcov(sys2);

比较置信区域。

H = bodeploy (sys1,sys2);showConfidence (h, 2);

图中包含2个轴对象。标题为From: u1 To: y1的Axes对象1包含2个类型为line的对象。这些对象表示sys1、sys2。坐标轴对象2包含两个line类型的对象。这些对象表示sys1、sys2。

的信心界限sys1sys2

连接3个单输出模型,使3个模型的协方差数据结合起来生成结果模型的协方差数据。

构造一个状态空间模型。

A = [-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 + rand(size(Y))/10;Data = iddata(y,u,0.01);

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

M1 = ssest(data(:,1,:),2,“引线”,真正的(1、2),“DisturbanceModel”“没有”);M2 = ssest(data(:,2,:),2,“引线”,真正的(1、2),“DisturbanceModel”“没有”);M3 = ssest(data(:,3,:),2,“引线”,真正的(1、2),“DisturbanceModel”“没有”);

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

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

参数协方差不为空。

getcov (M2,“因素”
ans =带有字段的结构:R: [36x36双]T: [24x36双]Free: [90x1逻辑]

如果您将估计的模型直接组合到一个3输出的模型中,协方差信息将丢失getcov是空的)。

M1 = [M1;m2;m3];getcov (M1)
Ans = []

比较置信界限。

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

图中包含12个轴对象。u1包含2个类型为line的对象。这些物体代表M2和m1。坐标轴对象2包含两个line类型的对象。这些物体代表M2和m1。坐标轴对象3包含两个line类型的对象。这些对象表示M2, M2。Axes对象4包含2个line类型的对象。这些对象表示M2, M2。Axes对象5包含2个line类型的对象。 These objects represent M2, m3. Axes object 6 contains 2 objects of type line. These objects represent M2, m3. Axes object 7 with title From: u2 contains 2 objects of type line. These objects represent M2, m1. Axes object 8 contains 2 objects of type line. These objects represent M2, m1. Axes object 9 contains 2 objects of type line. These objects represent M2, m2. Axes object 10 contains 2 objects of type line. These objects represent M2, m2. Axes object 11 contains 2 objects of type line. These objects represent M2, m3. Axes object 12 contains 2 objects of type line. These objects represent M2, m3.

的信心界限平方米m1平方米而且m3模型在各自的坐标轴上。

考虑一个由设备和控制器组成的闭环反馈模型。将装置的参数协方差转化为闭环反馈模型。

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

负载iddata1z1Plant = sest(z1,4);

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

创建一个控制器作为连续时间零极增益模型,其中零、极和增益分别为-2、-10、5。

控制器= zpk(-2,-10,5);

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

FCN = @(x,y)idss(反馈(x,y));

将装置的参数协方差转化为闭环反馈模型。

sys_new = translatecov(fcn,Plant,Controller);

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

绘制变换后模型的频率响应图sys_new,查看响应的置信区域。

H = bodeploy (sys_new);showConfidence (h);

图中包含2个轴对象。标题为From: u1 To: y1的Axes对象1包含一个类型为line的对象。该对象表示sys\_new。Axes对象2包含一个类型为line的对象。该对象表示sys\_new。

这幅图显示了不确定性的影响植物关于闭环响应。

提示

  • 如果你获得了sys通过估计并获得估计数据,可以使用零迭代更新重新计算参数协方差。例如:

    负载iddata1M = sest(z1,4);opt = ssestOptions opt. searchoptions . maxiterations = 0;M_new = ssest(z1,m2,opt)

    在以下情况下不能运行零迭代更新:

    • 如果MaxIterations选项,该选项取决于SearchMethod选项不可用。

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

算法

translatecov的个别参数的数值摄动sys计算的雅可比矩阵fcn(系统)的参数systranslatecov然后应用高斯近似公式 c o v _ n e w J × × J T 为了平移协方差,其中J为雅可比矩阵。对于包含大量自由参数的模型,此操作可能比较慢。

版本历史

在R2012b中介绍

Baidu
map