文档帮助中心文档
将过去的数据映射到状态空间和非线性ARX模型的状态
X = data2state (sys PastData)
[X, XCov] = data2state (sys PastData)
例子
X= data2state (sys,PastData)将过去的数据映射到状态空间或非线性ARX模型的状态sys.X中最新数据样例之后立即的状态值PastData.该软件通过最小化预测响应和输入输出信号之间的一步前预测误差来计算状态估计PastData.
X= data2state (sys,PastData)
X
sys
PastData
data2state是有用的继续模型模拟。也就是说,假设您已经模拟了一个模型直到某个特定的时刻,并且希望随后模拟该模型以用于未来的输入。使用data2state在第二次模拟开始时估计模型的状态。
data2state
[X,XCov) = data2state (sys,PastData)返回估计的协方差,XCov,当前状态。
[X,XCov) = data2state (sys,PastData)
XCov
全部折叠
计算已识别模型的映射状态,并将这些状态用作模型仿真的初始状态值。
负荷估算数据。
负载iddata3z3
使用数据估计一个二阶状态空间模型。
sys = ss (z3、2);
使用整个输入信号来模拟模型z3.
z3
输入= z3 ([],::);% |iddata|对象,只包含输入信号y_all = sim (sys、输入);
sim卡使用零初始条件进行计算y_all.
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_2
情节(y_all y_2,“r”。)传说(“使用所有输入数据进行模拟”,...“输入数据后半部分的单独模拟”)
加载过去的数据。
负载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
nx =订单(mw1);
使用第一个nx生成初始条件的数据样本。
PastData =结构(“输入”z.u (1: nx,:)“输出”z.y (1: nx:));
计算模型的映射状态。
X = data2state (mw1 PastData);
使用剩余的输入数据模拟模型,并为模拟指定初始条件。
InputSignal = z.u (nx + 1:最终,);选择= simOptions;opt.InitialCondition = X;sim (mw1 InputSignal选择)
中的难点
idgrey
idnlgrey
idnlarx
被估计当前状态的识别模型,指定为:
(状态空间模型中的难点,idgrey,或idnlgrey对象)
非线性ARX模型(idnlarx对象的状态的定义idnlarx模型,看到国家的定义.
iddata
过去的输入-输出数据,指定为下列之一:
iddataobject -样本数量必须大于或等于模型顺序。要确定模型顺序,请使用订单.
订单
X模型在某一时刻的状态值是多少PastData.SamplingInstants + PastData(结束)。Ts.
PastData.SamplingInstants + PastData(结束)。Ts
当sys连续时间,指定PastData作为一个iddata对象。X则对应离散化的(汇集)的版本,其中离散化方法存储在InterSample的属性PastData.
汇集
InterSample
Structure -指定为具有以下字段的结构:
输入-过去的输入数据,指定为N——- - - - - -ν矩阵,N大于或等于模型阶数。
输出-过去的输出数据,指定为N——- - - - - -纽约矩阵,N大于或等于模型阶数。
指定PastData只有当sys是一个离散时间模型。
的数据样本PastData应该按照增加时间的顺序。也就是最后一行PastData应该与最近的时间一致。
模型的映射状态,作为大小等于状态数的行向量返回。X中最新数据样例之后立即的状态值PastData.也就是说,如果PastData是一个iddata对象,X状态值是否为timet = PastData.SamplingInstants + PastData.Ts(结束).
t = PastData.SamplingInstants + PastData.Ts(结束)
状态值的估计协方差,作为大小矩阵返回Nx——- - - - - -Nx,在那里Nx是状态数。
XCov是空的,如果sys为非线性ARX模型。
findstates|getDelayInfo|idnlarx / findop|订单|sim卡
findstates
getDelayInfo
idnlarx / findop
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系
得到审判现在