主要内容

preparets

R2026b

(即将删除)为网络仿真或训练准备输入和目标时间序列数据

以后的版本中将会删除 preparets。有关详细信息,请参阅将旧版神经网络代码转移到 dlnetwork 工作流。

有关更新代码的建议,请参阅版本历史记录。

描述

[Xs,Xi,Ai,Ts,EWs,shift] = preparets(net,Xnf,Tnf,Tf,EW) 接受以下参量:

  • net - 神经网络

  • Xnf - 非反馈输入

  • Tnf - 非反馈目标

  • Tf - 反馈目标

  • EW - 误差权重(可选)

并返回以下参量:

  • Xs - 移位输入

  • Xi - 初始输入延迟状态

  • Ai - 初始层延迟状态

  • Ts - 移位目标

  • EWs - 移位误差权重

  • shift - 为正确填充 Xi 和 Ai,从 X 和 T 开头截去的时间步数。

此函数简化了通常复杂且容易出错的输入和目标时间序列重新格式化任务。它会根据填充初始输入延迟状态和初始层延迟状态所需的步数,自动对输入和目标时间序列进行移位。如果网络具有开环反馈,则此函数会根据需要将反馈目标复制到输入中,以定义开环输入。

每次设计具有不同延迟数或不同反馈设置的新网络时,preparets 都可以相应地重新格式化输入和目标数据。此外,每次使用 openloop、closeloop、removedelay 或 adddelay 变换网络时,此函数也可以相应地重新格式化数据。

示例

示例

全部折叠

此示例说明如何为开环和闭环网络准备数据。

创建一个包含 20 个隐藏神经元的时滞网络,然后对其进行训练和仿真。

[X,T] = simpleseries_dataset;
net = timedelaynet(1:2,20);
[Xs,Xi,Ai,Ts] = preparets(net,X,T);
net = train(net,Xs,Ts);
view(net)

Y = net(Xs,Xi,Ai);

设计一个 NARX 网络。该 NARX 网络具有一个标准输入和一个开环反馈输出,该输出连接到相关联的反馈输入。

[X,T] = simplenarx_dataset;
net = narxnet(1:2,1:2,20);
[Xs,Xi,Ai,Ts] = preparets(net,X,{},T);
net = train(net,Xs,Ts,Xi,Ai);

Figure Neural Network Training (07-Aug-2026 05:46:25) contains an object of type uigridlayout.

view(net)

y = net(Xs,Xi,Ai);

现在,将网络转换为闭环,并重新格式化数据,以仿真网络的闭环响应。

net = closeloop(net);
view(net)

[Xs,Xi,Ai] = preparets(net,X,{},T);
y = net(Xs,Xi,Ai);

输入参数

全部折叠

输入网络,指定为网络对象。要创建网络对象,请使用 feedforwardnet 或 narxnet 等函数。

非反馈输入数据(不与开环反馈输出相关联的输入),指定为元胞数组。

非反馈输出的目标数据,指定为元胞数组。

具有反馈的输出的目标数据,指定为元胞数组。

误差权重,指定为元胞数组。

输出参量

全部折叠

移位输入,以元胞数组形式返回。

初始输入延迟状态,以元胞数组形式返回。

初始层延迟状态,以元胞数组形式返回。

移位目标,以元胞数组形式返回。

移位误差权重,以元胞数组形式返回。

为正确填充 Xi 和 Ai,从 X 和 T 开头截去的时间步数,以标量形式返回。

版本历史记录

在 R2010b 中推出

全部折叠