主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

struc

为单输出 ARX 模型估计生成模型阶组合

语法

nn = struc(na,nb,nk)
nn = struc(na,nb_1,...,nb_nu,nk_1,...,nk_nu)

说明

nn = struc(na,nb,nk) 为单输入、单输出 ARX 模型估计生成模型阶数组合。nanb 是指定模型阶数范围的行向量。nk 是指定模型延迟范围的行向量。nn 是包含所有阶数和延迟组合的矩阵。

nn = struc(na,nb_1,...,nb_nu,nk_1,...,nk_nu) 为具有 nu 输入通道的 ARX 模型生成模型-阶数组合。

示例

全部折叠

创建估计和验证数据集。

load iddata1;
ze = z1(1:150);
zv = z1(151:300);

生成用于估计的模型阶数组合,指定模型阶数和延迟的范围。

NN = struc(1:3,1:2,2:4);

使用工具变量法估计 ARX 模型,并计算每个模型阶数组合的损失函数。

V = ivstruc(ze,zv,NN);

选择与验证数据最相符的模型阶数。

order = selstruc(V,0);

估计选定阶数的 ARX 模型。

M = iv4(ze,order);

加载估计和验证数据集并查看变量名称。

load co2datatt tte ttv
head(tte,3)
     Time      u1     u2      y1   
    _______    ___    __    _______

    0.5 sec    170    50    -44.302
    1 sec      170    50    -44.675
    1.5 sec    170    50     -45.29

生成以下模型-阶数组合:

  • na = 2:4

  • 对于第一个输入,nb = 2:5,对于第二个输入,14

  • 对于第一个输入,nk = 1:4,对于第二个输入,则为 0

NN = struc(2:4,2:5,[1 4],1:4,0);

为每个模型阶数组合估计一个 ARX 模型。

V = arxstruc(tte,ttv,NN);

选择与验证数据最相符的模型阶数。

order = selstruc(V,0)
order = 1×5

     2     4     4     2     0

估计选定阶数的 ARX 模型。

M = arx(tte,order)
M =
Discrete-time ARX model: A(z)y(t) = B(z)u(t) + e(t)               
  A(z) = 1 - 1.252 z^-1 + 0.302 z^-2                              
                                                                  
  B1(z) = -0.3182 z^-2 - 0.1292 z^-3 + 0.2883 z^-4 + 0.001051 z^-5
                                                                  
  B2(z) = -0.02705 + 0.01948 z^-1 + 0.1695 z^-2 + 0.3278 z^-3     
                                                                  
Sample time: 0.5 seconds
  
Parameterization:
   Polynomial orders:   na=2   nb=[4 4]   nk=[2 0]
   Number of free coefficients: 10
   Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:                                          
Estimated using ARX on time domain data "tte".   
Fit to estimation data: 88.59% (prediction focus)
FPE: 3.993, MSE: 3.938                           
 
Model Properties

提示

  • arxstrucivstruc 一起使用来计算 ARX 模型的损失函数,每个由 struc 返回的模型阶数组合都有一个损失函数。

版本历史记录

在 R2006a 之前推出