getcov

识别的模型参数协方差

描述

cov_data= getcov (SYS返回确定模型参数的原始协方差。

  • 如果SYS是一个单一的模型,然后cov_data是一个np——- - - - - -np矩阵。np是的参数的数量SYS

  • 如果SYS是一个模型数组,那么cov_data是大小的单元阵列等于阵列尺寸SYS

    cov_data(I,J,K,...)包含协方差数据SYS(:,:,I,J,K,...)

cov_data= getcov (SYScov_type返回参数协方差无论是作为矩阵或结构,这取决于被指定的协方差类型。

cov_data= getcov (SYScov_type“免费”)返回只有自由模型参数的协方差数据。

例子

全部折叠

获取识别模型。

加载iddata1Z1sys =特遣部队(z1, 2);

查看该模型的原始参数协方差。

cov_data = getcov(系统)
cov_data =5×51.2131 -4.3949 -0.0309 -0.5531 0 -4.3949 115.0838 1.8598 10.6660 0 -0.0309 1.8598 0.0636 0.1672 0 -0.5531 10.6660 0.1672 1.2433 0 0 0 0 0 0

cov_data包含参数向量的协方差矩阵[sys.Numerator sys.Denominator(2:结束),sys.IODelay]

sys.Denominator(1)固定为1而不是作为参数来处理。由于没有估计延迟,对应于延迟参数(第五行和列)的协方差矩阵项为零。

获取已识别的模型数组。

加载iddata1Z1;sys1 =特遣部队(z1, 2);sys2 =特遣部队(z1, 3);sysarr =栈(1,SYS1,SYS2);

sysarr是一个2×1阵列的连续时间,确定传递函数。

获得数组中模型的原始参数协方差。

cov_data = getcov(sysarr)
cov_data =2×1单元阵列{5x5的双} {7×7}双

cov_data是一个2×1单元格数组。cov_data {1}cov_data {2}是原始参数的协方差矩阵为sys1sys2

加载估计数据。

加载iddata1Z1z1.y = cumsum(z1.y);

估计模型。

init_sys = IDTF([100 1500],[1 10 10 0]);init_sys.Structure.Numerator.Minimum = EPS;init_sys.Structure.Denominator.Minimum = EPS;init_sys.Structure.Denominator.Free(结束)= FALSE;选择= tfestOptions('SearchMethod''LM');sys =特遣部队(z1、init_sys选择);

SYS是一个IDTF与六个参数,其中四个估计的模型。

获取估计参数的协方差矩阵。

cov_type ='值';cov_data = getcov(SYS,cov_type,'自由'
cov_data =4×410×0.0269 -0.1237 -0.0001 -0.0017 -0.1237 1.0221 0.0016 0.0133 -0.0001 0.0016 0.0000 0.0000 -0.0017 0.0133 0.0000 0.0002

cov_data4 x4协方差矩阵,对应于四个估计参数条目。

获取识别模型。

加载iddata1Z1sys =特遣部队(z1, 2);

查看该模型加因子参数协方差。

cov_type =“因素”;cov_data = getcov(SYS,cov_type);

获取已识别的模型数组。

加载iddata1Z1sys1 =特遣部队(z1, 2);sys2 =特遣部队(z1, 3);sysarr =栈(1,SYS1,SYS2);

sysarr是一个2×1阵列的连续时间,确定传递函数。

获取数组中的模型加因子参数协方差。

cov_type =“因素”;cov_data = getcov(sysarr,cov_type)
cov_data =2×1结构阵列字段:[RŤ免费

cov_data是一个2乘1结构数组。cov_data(1)cov_data(2)对于加因子方差结构sys1sys2

加载估计数据。

加载iddata1Z1z1.y = cumsum(z1.y);

估计模型。

init_sys = IDTF([100 1500],[1 10 10 0]);init_sys.Structure.Numerator.Minimum = EPS;init_sys.Structure.Denominator.Minimum = EPS;init_sys.Structure.Denominator.Free(结束)= FALSE;选择= tfestOptions('SearchMethod''LM');sys =特遣部队(z1、init_sys选择);

SYS,一IDTF模型有六个参数,其中四个是估计的。

获取估计参数加因子方差。

cov_type =“因素”;cov_data = getcov(SYS,cov_type,'自由');

输入参数

全部折叠

识别的模型,指定为IDTFIDSSidgreyidpolyidprocidnlarxidnlhw, 要么idnlgrey模型或这些模型的阵列。

getcov命令返回cov_data[]对于idnlarxidnlhw因为这些模型不存储参数协方差数据。

协方差返回类型,指定为'值'“因素”

  • 如果cov_type'值', 然后cov_data返回为一个矩阵(原始协方差)。

  • 如果cov_type“因素”, 然后cov_data作为包含协方差矩阵因子的结构返回。

    如果协方差矩阵包含非有限值、非正定值或条件恶劣,则使用此选项来获取协方差数据。您可以使用协方差因子来计算响应的不确定性,而不是在数值上不利的协方差矩阵。

    此选项不会在下列情况下提供了数量上的优势:

    • SYS使用某些仪器变量的方法,如估计IV4

    • 您已经明确指定的参数协方差SYS使用弃用CovarianceMatrix模型属性。

数据类型:字符

输出参数

全部折叠

参数协方差SYS,返回作为基质,结构或结构的单元阵列的矩阵,单元阵列。cov_data[]对于idnlarxidnlhw楷模。

  • 如果SYS单一模型和cov_type'值', 然后cov_data是一个np——- - - - - -np矩阵。np是的参数的数量SYS

    这个矩阵的非零元素的值等于sys.Report.Parameters.FreeParCovariance什么时候SYS是通过估计得到的。对应于固定参数的行和列条目为零。

  • 如果SYS单一模型和cov_type“因素”, 然后cov_data是一种带有字段的结构:

    • [R- 通常在上三角矩阵。

    • Ť——变换矩阵。

    • 自由- 长度的逻辑矢量np指示如果模型参数是免费的(估计的)或没有。np是的参数的数量SYS

    为了获得使用因子形式的协方差矩阵,请输入:

    免费= cov_factored.Free;T = cov_factored.T;R = cov_factored.R;NP = nparams(SYS);cov_matrix =零(NP);cov_matrix(免费,免费)= T * INV(R '* R)* T';

    为了数值精度,计算T *发票(R ' T * R) *X * X”,其中X = T / R

  • 如果SYS是一个模型数组,那么cov_data是大小的单元阵列等于阵列尺寸SYS

    cov_data(I,J,K,...)包含协方差数据SYS(:,:,I,J,K,...)

介绍了R2012a