BP神经网络训练自控传递函数

本文探讨了如何利用BP神经网络训练自动控制理论中的传递函数。作者参照了其他博主的方法成功实现了正弦函数的训练,但在尝试训练传递函数时遇到问题。意识到传递函数的输入不仅包括幅值,还包括时间,因此调整了神经网络的输入结构。通过MATLAB 2020b进行实验,详细介绍了数据准备和Simulink模型的构建过程,并指出当输入幅值变化时,需要重新训练网络以保持传递函数的准确性。
摘要由CSDN通过智能技术生成

      一直想要用BP神经网络来训练自动控制理论里面的传递函数,想法很简单:用输入数据(如单位阶跃信号)和输出数据(传递函数的输出)放在BP神经网络中,这样肯定能建立输入与输出的关系。但具体如何实现一直没有头绪,直到读了这篇

https://blog.csdn.net/m0_47868423/article/details/124538007?spm=1001.2014.3001.5502

      博主非常详细地介绍了如何用BP神经网络实现正弦函数的步骤,我也照着复现了,但是当我想拓展到训练自控传递函数时,还是出现了问题。我们一般理解传递函数的输入是阶跃信号,一开始我只是将阶跃信号的幅值作输入,传函输出的幅值做输出。但是训练的结果就是不对。想了好长时间,传函是拉斯域,反拉斯变换到时域后,输出和时间是有关系的,但我们不至于要做拉斯反变换吧,尤其高阶系统,还有非线性系统,做拉斯反变换的话,复杂又不现实。后来突然想到会不会输入应该是两个变量:时间和幅值。这个BP神经网络输入为2,输出为1。

我用的MATLAB是2020b版本,to workspace与上面博主的显示略有不同,创建如下:

 这里的to workspace储存形式要包括时间,设置如下:

 输入数据就是两列,阶跃信号的时间和幅值,代码如下:


                
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值