在这个例子中,我们尝试建立一个神经网络,可以预测磁铁使用控制电流悬浮的动态行为。
该系统的特点是磁体的位置和控制电流,这两种方法都决定了磁体在什么时候会在哪里。
这是一个时间序列问题的例子,在这里,反馈时间序列(磁位)和外部输入系列(控制电流)的过去值被用来预测反馈系列的未来值。
程序及分析:
[x,t] = maglev_dataset;%导入数据
net = narxnet(1:2,1:2,10);%建立非线性自回归神经网络
view(net)%查看神经网络结构
两层(即单层)NARX神经网络可以适应任何动态输入-输出关系,在隐藏的层中有足够的神经元。没有输出层的层称为隐藏层。
我们将在这个例子中尝试一个隐藏的10个神经元层。一般来说,更困难的问题需要更多的神经元,或者更多的层。更简单的问题需要更少的神经元。
我们还将尝试使用tap延迟,两个延迟用于外部输入(控制电流)和反馈(磁体位置)。更多的延迟允许网络建模更复杂的动态系统。
输入和输出的大小为0,因为网络尚未被配置来匹配我们的输入和目标数据。
输出y(t)也是一个输入,延迟v。
[Xs,Xi,Ai,Ts] = preparets(net,x,{},t);%这一步与bp神经网络等有所不同
preparets:为网络模拟或训练准备输入和目标时间序列数据;它会自动将输入和目标时间序列转换为填充初始输入和层延迟状态所需的许多步骤。
[net,tr] = train(net,Xs,Ts,Xi,Ai);%训练神经网络
nntraintool
matlab动态建模与预测(磁悬浮)
最新推荐文章于 2023-11-01 10:00:00 发布
本文利用MATLAB建立NARX神经网络,预测磁悬浮系统的动态行为。通过训练网络模拟开放和闭环系统,分析了不同类型的自回归网络在位置预测中的表现,展示了开环网络能较好拟合位置,而闭环网络可能出现预测偏差。
摘要由CSDN通过智能技术生成