主要内容

data2state

将过去的数据映射到状态空间和非线性ARX模型的状态

描述

例子

X= data2state (sysPastData将过去的数据映射到状态空间或非线性ARX模型的状态sysX中最新数据样例之后立即的状态值PastData.该软件通过最小化预测响应和输入输出信号之间的一步前预测误差来计算状态估计PastData

data2state是有用的继续模型模拟。也就是说,假设您已经模拟了一个模型直到某个特定的时刻,并且希望随后模拟该模型以用于未来的输入。使用data2state在第二次模拟开始时估计模型的状态。

例子

XXCov) = data2state (sysPastData返回估计的协方差,XCov,当前状态。

例子

全部折叠

计算已识别模型的映射状态,并将这些状态用作模型仿真的初始状态值。

负荷估算数据。

负载iddata3z3

使用数据估计一个二阶状态空间模型。

sys = ss (z3、2);

使用整个输入信号来模拟模型z3

输入= z3 ([],::);% |iddata|对象,只包含输入信号y_all = sim (sys、输入);

sim卡使用零初始条件进行计算y_all

现在只使用输入信号的前半部分来模拟模型。

输入Input1 = (1:15);y_1 = sim (sys, Input1);

继续对输入信号的后半部分进行仿真,这样结果就不会因为初始条件引起的瞬态而出现不连续。为此,首先构造由输入信号的前半部分的输入和模拟输出组成的过去数据集。然后计算输入信号的后半部分的开始对应的状态值(t = 151)。

PastData = [y_1, Input1];X = data2state (sys PastData);

X中最新数据样例之后立即的状态值PastData.这个时间点也是未来数据(输入信号的后半部分)的开始。

FutureData =输入(151:结束);

使用输入信号的后半部分来模拟模型X作为初始条件。

选择= simOptions (“InitialCondition”, X);y_2 = sim (sys、FutureData选择);

验证y_2匹配下半场y_all

情节(y_all y_2,“r”。)传说(“使用所有输入数据进行模拟”...“输入数据后半部分的单独模拟”

图中包含一个坐标轴。标题为y1的轴包含两个类型为line的对象。这些对象表示使用所有输入数据的模拟,单独模拟输入数据的后半部分。

加载过去的数据。

负载iddata1z1PastData = z1;

估计一个ARX模型。

sys = arx(PastData,[1 1 0]); / /获取数据

将模型转换为状态空间模型。

sys2 = ids(系统);

计算映射的状态和状态的协方差使用PastData

[X, XCov] = data2state (sys2 PastData);

X状态值是否在最近的数据样本之后立即PastData

加载数据并创建数据对象。

负载motorizedcamera;z = iddata (y, u, 0.02,“名字”“机动相机”“TimeUnit”“年代”);

估计一个非线性ARX模型。

mw1 = nlarx (z,[(2, 2),则(2,6)的(2,6)],“wavenet”);

估计模型有6个输入和2个输出。

确定模型顺序,nx

nx =订单(mw1);

使用第一个nx生成初始条件的数据样本。

PastData =结构(“输入”z.u (1: nx,:)“输出”z.y (1: nx:));

计算模型的映射状态。

X = data2state (mw1 PastData);

X状态值是否在最近的数据样本之后立即PastData

使用剩余的输入数据模拟模型,并为模拟指定初始条件。

InputSignal = z.u (nx + 1:最终,);选择= simOptions;opt.InitialCondition = X;sim (mw1 InputSignal选择)

Figure使用NLARX估算,预测焦点包含2个轴。模拟输出#1:y1包含一个类型为line的对象。这个对象表示y1。模拟输出#2:y2包含一个类型为line的对象。这个对象表示y2。

输入参数

全部折叠

被估计当前状态的识别模型,指定为:

过去的输入-输出数据,指定为下列之一:

  • iddataobject -样本数量必须大于或等于模型顺序。要确定模型顺序,请使用订单

    X模型在某一时刻的状态值是多少PastData.SamplingInstants + PastData(结束)。Ts

    sys连续时间,指定PastData作为一个iddata对象。X则对应离散化的(汇集)的版本,其中离散化方法存储在InterSample的属性PastData

  • Structure -指定为具有以下字段的结构:

    • 输入-过去的输入数据,指定为N——- - - - - -ν矩阵,N大于或等于模型阶数。

    • 输出-过去的输出数据,指定为N——- - - - - -纽约矩阵,N大于或等于模型阶数。

    指定PastData只有当sys是一个离散时间模型。

的数据样本PastData应该按照增加时间的顺序。也就是最后一行PastData应该与最近的时间一致。

输出参数

全部折叠

模型的映射状态,作为大小等于状态数的行向量返回。X中最新数据样例之后立即的状态值PastData.也就是说,如果PastData是一个iddata对象,X状态值是否为timet = PastData.SamplingInstants + PastData.Ts(结束)

状态值的估计协方差,作为大小矩阵返回Nx——- - - - - -Nx,在那里Nx是状态数。

XCov是空的,如果sys为非线性ARX模型。

介绍了R2008a