导航:首页 > 网络共享 > bp神经网络预测模型软件

bp神经网络预测模型软件

发布时间:2023-06-02 23:04:20

Ⅰ 基于Matlab和BP神经网络的固体火箭发动机比冲性能的预测

(内蒙古工业大学理学院,内蒙古 呼和浩特 010051)
摘 要:本文采用基于误差反向传播算法(BP算法)的人工神经网络技术,利用Mat lab神经网络工具箱,建立了固体火箭发动机比冲性能预测的神经网络模型,并利用实验数据进行了验证。结果表明,可以利用该方法开展固体火箭发动机比冲性能的预测。
关键词:固体火箭发动机比冲;
BP算法;
Mat lab神经网络工具箱;
人工神经网络
中图分类号:V435∶TP183 文献标识码:A 文章编号:1007—6921(2007)08—0073—02
固体火箭发动机性能参数预测是发动机设计和研究的基本课题之一,正确预测发动机性能参数是提高发动机性能指标和精度并缩短研制周期的关键和基础。比冲性能的预测目前有两种方法。一种是以历次试验得到的修正系数对新设计的发动机的理论比冲进行修正。另一种是通过计算各种损失来预估比冲。这些方法存在需要样本数据大和预测精度差的缺点。
神经网络理论由于自身固有的超强适应能力和学习能力在很多领域获得了极其广泛的应用,解决了许多传统方法难以解决的问题。由于神经网络学习算法在数学计算上比较复杂过程也比较繁琐,容易出错。因此,采用神经网络软件包成为必然的选择。本文采用现在应用最为广泛的MATLAB神经网络工具箱,利用基于BP算法的人工神经网络建立固体火箭发动机比冲性能预测模型,以提高比冲的预测精度。
1 BP神经网络模型
BP网络由于结构简单,具有较强的非线性映射能力,是应用最为广泛的一类神闷启经网络。BP神经网络的学习过程分为信息的正向传播过程和误差的反向传播过程两个阶段。外部输入的信号经输入层、隐含层的神经元逐层处理向前传播到输出层,给出结果。如果在输出层得不到期望输出,则转入逆向传播过程,将实际值与网络输出之间的误差沿原来联结的通路返回,通过修改各层神经元的联系权值,使误差减少,然后再转入正向传播过程,反复迭代,直到误差小于给定的值为止。
2 MATLAB神经网络工具箱的应用
神经网络工具箱是在Mat lab环境下开发出来的许多工具箱之一,它以人工神经网络理论为基础,用MATLAB语言构造出典型神经网络的激活函数,在网络训练过程中使用的是Mat lab
6.5 for Windows软件,对于网络的训练使用了Neural Networks Toolbox for Mat lab。美国的Math work公司推出的MATLAB软件包既是一种非常实用有效的科研编程软件环境,又是一种进行科学和工程计算的交互式程序。MATLAB本身带有神经网络工具箱,可以大大方便权值训练,减少训练程序工作量,有效的提高工作效率。
3 影响固体火箭发动机比冲性能的因素
比冲是反映发动机所用推进剂能量高低和内部工作过程完善程度的重要技术指标。影响比冲性能的因素很多,主要包括以下几项:喷管喉径、喷管潜入比、平均扩张比、工作时间、扩散半角、平均工作压强、平均燃速、推进剂密度。由于固体火箭发动机的全尺寸誉派试车需要耗费大量的人力、物力和财力。因此比冲的试验数据比较缺乏,本文共收集了6组数据样本,选定其中的5组作为训练样本,一组作为测试样本。每组数据样本前8项为输入因子,输出因子为实际比冲。利用这6组数据对网络进行训练、测试。
4 网络模型设计
BP网络的设计主要包括输入层、隐层、输出层及各层之间的传输函数几个方面。
4.1 网络层数。BP网络可以包含不同的隐层,理论上已经证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数。对隐含层层数的经验选择为:对于线性问题一般可以采用感知器庆罩贺或自适应网络来解决,而不采用非线性网络,因为单层不能发挥出非线性激活函数的特长;
非线性问题,一般采用两层或两层以上的隐含层,但是误差精度的提高实际上也可以通过增加隐含层中的神经元数目获得,其训练效果也比增加层数更容易观察和调整,所以一般情况下,应优先考虑增加隐含层中的神经元数。
4.2 输入层的节点数和输出层的节点数。输入层起缓冲存储器的作用,它接收外部的输入数据,因此其节点数取决于输入矢量的维数。由于固体火箭发动机比冲性能预测的输入样本为8维的输入向量,因此,输入层一共有8个神经元。
输出层的节点数取决于两个方面,输出数据类型和表示该类型所需的数据大小。由于固体火箭发动机比冲性能预测的输出样本为1维的输出向量,因此,输出层有1个神经元。
4.3 隐含层神经元的节点数。隐含层神经元的节点数确定是通过对不同神经元数进行训练对比,然后适当的增加一点余量。根据前人经验,可以参照以下公式进行设计:


式中:n为隐层节点数;
n i 为输入节点数;

n 0 为输出节点数;
a为1~10之间的常数。
根据这一原则此BP网络的隐含层神经元的节点数为[KF(]8+1[KF)]+a(a=1~10),取为13。
4.4 传输函数。一般情况下BP网络结构均是在隐含层采用S型激活函数,而输出层采用线性激活函数。
4.5 训练方法的选取。采用附加动量法使反向传播减少了网络在误差表面陷入低谷的可能性有助于减少训练时间。太大的学习速率导致学习的不稳定,太小值又导致极长的训练时间。自适应学习速率通过保证稳定训练的前提下,达到了合理的高速率,可以减少训练时间。
4.6 学习速率的经验选择。一般情况下倾向于选取较小的学习速率以保证系统的稳定性,学习速率的选取范围在0.01~0.8之间。此网络学习速率选取为0.05。
4.7 期望误差的选取。一般情况下,作为对比,可以同时对两个不同的期望误差值的网络进行训练,最后通过综合因素的考虑来确定其中一个网络。
综上所述:BP网络拓扑结构为8×13×1的结构。中间层神经元的传递函数为S型正切函数tansig。由于输出已被归一化到区间[0,1]中,输出层神经元的传递函数可以设定为S型对数函数logsig。网络的训练函数采用学习率可变的动量BP算法修正神经网络的权值和阀值函数traingdx。
5 网络的训练与测试
在对神经网络进行学习训练以及预测比冲时,必须先对输入输出数据进行预处理,即归一化或标准化,将网络的输入输出数据限制在[0,1]区间内。进行归一化的主要原因有:①网络的各个输入数据常常具有不同的物理意义和不同的量纲,归一化可使得各输入分量被赋以同等重要的地位;
②某些输入变量的值可能与其它输入变量相差甚远,归一化可避免数值大的变量掩盖数值小的变量;
③可以避免神经元饱和。
6组实测数据样本经过归一化处理后的数据如表1所示。


用仿真函数sim来计算网络的输出,其预报误差曲线如图1。


由图可见,网络预测值和真实值之间的误差是非常小的,均小于3%。完全满足应用要求。
6 结论
神经网络作为一种输入/输出的高度非线性映射,通过对作用函数的多次复合,实现了固体火箭发动机比冲性能参数预测。并得到以下结论:
6.1 无需建立系统的数学模型,只要有足够的训练样本(由实验数据或仿真数据得到)即可预测。
6.2 BP网络根据样本数据,通过学习和训练,找出输入与输出之间的关系,从而求取问题的解,而不是依据对问题的经验判断,因而具有自适应功能,克服了统计回归方法分析小样本数据的不足。
6.3 结果表明,训练好的BP网络模型可以较准确的开展固体火箭发动机比冲性能的预测。
6.4 模型预测的规律受样本的性质影响,由于固体火箭发动机比冲的实验数据比较缺乏,因此本模型还有待于进一步的试验数据验证。
[参考文献]
[1] 刘佩进,吕翔,何国强.基于人工神经网络的燃速相关性研究[J].推进技术,2004,25(2):156-158.
[2] 张宇星.基于神经网络原理的固体火箭发动机比冲性能的预示研究[D].呼和浩特:内蒙古工业大学硕士研究生论文,2002.
[3] 飞思科技产品研发中心.MATLAB6.5应用接口编程[M].北京:电子工业出版社,2003.
[4] 闻新,周露,王丹力,等.Mat lab神经网络应用设计[M].北京:科学出版社,2000.
[5] 蒋宗礼.人工神经网络导论[M].北京:高等教育出版社,2001.

Ⅱ GA-BP神经网络模型预测的MATLAB程序问题

Matlab神经网络工具箱提供了一系列用于建立和训练bp神经网络模型的函数命令,很难一时讲全。下面仅以一个例子列举部分函数的部分用法。更多的函数和用法请仔细查阅Neural Network Toolbox的帮助文档。 例子:利用bp神经网络模型建立z=sin(x+y)的模雀谈型型并检验效果 %第1步。随机生成200个采样点用于训练 x=unifrnd(-5,5,1,200); y=unifrnd(-5,5,1,200); z=sin(x+y); %第2步。建立神经网络模型。其中参数一是输入数据的范围,参数二顷猜是各层神经元数量,参数三是各层传递函数类型。 N=newff([-5 5;-5 5],[5,5,1],{'tansig','tansig','purelin'}); %第3步。训练。这里用批训练函数train。也可用adapt函数进行增长训练侍枝。 N=train(N,[x;y],z); %第4步。检验训练成果。 [X,Y]=meshgrid(linspace(-5,5)); Z=sim(N,[X(:),Y(:)]'); figure mesh(X,Y,reshape(Z,100,100)); hold on; plot3(x,y,z,'.')

Ⅲ 除了MATLAB能做BP神经网络,还有其他什么软件能做

在我看来bp神经网络是一种算法,只要是算法就可以用任何软件工具(只要编译器或者解释器支持,c,c++,python,matlab......)来进行实现,只是实现时的复杂程度有区别而已

Ⅳ 求一个bp神经网络预测模型的MATLAB程序

BP神经网络预测的步骤:

1、输入和输出数据。

2、创建网络。fitnet()

3、划分训练,测试和验证数据的比例。net.divideParam.trainRatio;net.divideParam.valRatio;net.divideParam.testRatio

4、训练网络。train()

5、根据图表判断拟合好坏。ploterrcorr();parcorr();plotresponse()

6、预测往后数据。net()

7、画出预测图。plot()

执行下列命令

BP_prediction

得到结果:

[ 2016, 14749.003045557066798210144042969]

[ 2017, 15092.847215188667178153991699219]

[ 2018, 15382.150005970150232315063476562]

[ 2019, 15398.85769711434841156005859375]

[ 2020, 15491.935150090605020523071289062]

Ⅳ BP人工神经网络预测

完全可以,神经网络就是这样用的,极其适用于描述难以给出具体的数学表达式的非线性映射。通过历史样本对网络的训练,可以使网络映射该非线性关系,从而进行可靠性很高的预测。可以使用BP、Elman、RBF网络,这些网络效果较好。建议使用MATLAB编程,较为方便,因为该数学软件包含神经网络工具箱。

如果你装了Matlab,可以运行下附件的例子试一下。

Ⅵ BP神经网络用什么软件可以实现

MATLAB! 编个程序就能实现的,而且MATLAB 有自带的神经网络工具箱。

Ⅶ 运用Matlab软件建立预测水体富营养化BP神经网络模型怎么操作,我这里有数据,想知道具体的操作步骤。

确定训练集P-T对,建立网络模型(配置学习算法肆闭、目标精度等参数)仿雹肆、训练和使备轿用。
MATLAB ANN工具箱很容易解决,help newff

Ⅷ 复杂神经网络模型用什么软件

bp神经网络能用MATLAB,
理论上编程语言都可以,比如VB,C语言,过程也都是建模、量化、运算及结果输出(图、表),但是matlab发展到现在,集成了很多的工具箱,所以用的最为广泛,用其他的就得是要从源码开发入手了。
bp神经网络是一种算法,只要是算法就可以用任何软件工具,只要编译器或者解释器支持,c,c++,python,来进行实现,只是实现时的复杂程度有区别而已

阅读全文

与bp神经网络预测模型软件相关的资料

热点内容
中山电信网络ip怎么设置 浏览:446
网络语音提示怎么回事 浏览:876
南昌移动网络覆盖图 浏览:721
网络根据连接方式有哪些类型 浏览:727
网络电视怎么手机认证上网 浏览:154
计算机网络试卷2021 浏览:504
如何使安卓手机网络变快 浏览:533
如何把电脑上网络连到手机上 浏览:207
wifi网络限速软件 浏览:407
大专的网络教育算什么类别 浏览:743
WiFi正常但是连不上网络 浏览:313
电信卡明明满信号网络就是好卡 浏览:440
小时候的网络游戏有哪些 浏览:868
网络上买表什么平台最真最便宜 浏览:301
移动网络光端 浏览:462
祁阳县移动网络安装电话 浏览:451
台式如何连接网络 浏览:313
不用网络盒子看电视直播软件哪个好 浏览:940
网络渠道商有哪些 浏览:38
茂名手机网络稳定器 浏览:960

友情链接