过程管理封皮.doc

基于C语言的BP神经网络预测程序开发

收藏

压缩包内文档预览:
预览图 预览图
编号:32781878    类型:共享资源    大小:796.45KB    格式:ZIP    上传时间:2019-12-19 上传人:好资料QQ****51605 IP属地:江苏
45
积分
关 键 词:
基于 语言 BP 神经网络 预测 程序 开发
资源描述:
基于C语言的BP神经网络预测程序开发,基于,语言,BP,神经网络,预测,程序,开发
内容简介:
SY-025-BY-2毕业设计(论文)任务书学生姓名高小林系部汽车工程系专业、班级车辆07-11班指导教师姓名王悦新职称实验师从事专业汽车工程是否外聘是否题目名称基于C语言的BP神经网络预测程序开发一、设计(论文)目的、意义应用C语言解决实际问题,开发BP神经网络预测程序。二、设计(论文)内容、技术要求(研究方法)(一).主要内容1.熟悉C语言软件2研究BP网络工作原理3.进行仿真分析和试验验证三、设计(论文)完成后应提交的成果软件及设计说明书四、设计(论文)进度安排(1)熟悉任务书,了解相关信息,准备资料,填写开题报告:第12周(3月1日3月14日)(2)建立精确BP数学模型,提相应问题:第34周(3月15日3月28日)(3)确定算法及中期检查:第56周(3月29日4月11日)(4)编程序:第711周(4月12日月日)(5)运行调试;第1213周(5月10日5月30日)(6)设计说明书评阅、审核及修改不足:第1416周(5月31日6月20日)(7)为毕业设计答辩做准备及答辩:第17周(6月21日6月27日)五、 主要参考资料1,艾立群. 人工神经网络在钢铁工业中的应用J. 钢铁研究学报. 1997, 9(4):60-63.2,王秀梅, 王国栋, 刘相华. 人工神经网络和数学模型在热连轧机组轧制力预报中的综合应用J. 钢铁,1999, 34(3):37-43.3,牛济泰, 孙雷剑, 李海涛.基于人工神经网络的微合金钢热轧奥氏体晶粒尺寸模型的研究J. 材 料科学与工艺,1999, 7(3):12-16.4,高永生, 张鹏, 崔军, 等. 应用人工神经网络预测50CrV4钢的变形抗力J. 钢铁, 1998, 33(4):27-30.5,王铁, 陈进. BP算法中学习率及形状因子对学习速度的综合影响J. 上海交通大学学报,1997,31(3) :109-112.6,Bellomo P, Palchetti M, Maria E S,et al . Neural Networks Utilization for Breakout MonitoringA. Steelmaking Conference ProceedingC. Nashville : A Publication of t he Iron and Steel Society, 1995. 345.7,Ludwig. Thermophysical Properties Necessary for Advanced Casting SimulationJ. International Journal of Thermophysics. 2002, 23(5):1131-1146.8,Kurz W, Grugel R N. Columnar dendritic growth: experiment and theory J. Materials Science Forum, 1991, (77): 185-204.六、备注指导教师签字:年 月 日教研室主任签字: 年 月 日毕业设计(论文)开题报告设计(论文)题目: 基于C语言的BP神经网络预测程序开发院 系 名 称: 汽车与交通工程学院 专 业 班 级: 车辆工程B07-11班 学 生 姓 名: 高小林 导 师 姓 名: 王悦新 开 题 时 间: 2011年3月2日 指导委员会审查意见: 签字: 年 月 日毕业设计(论文)开题报告学生姓名高小林系部汽车与交通工程学院专业、班级车辆07-11班指导教师姓名王悦新职称实验师从事专业汽车工程指导教师姓名王悦新题目名称基于C语言的BP神经网络预测程序开发一、课题研究现状、选题目的和意义神经网络是在现代神经科学研究成果的基础上, 对生物神经系统的结构和功能进行数学抽象、简化和模仿而逐步发展起来的一种新型信息处理和计算系统。人工神经网络由大量结构简单的神经元按各种拓扑结构组成, 它的整体特征是由每个节点的特性、网络的拓扑结构和学习算法决定的。建立人工神经网络模型, 运用其记忆能力对一直数据进行学习记忆, 再利用其联想能力对为止问题进行识别和预测等。误差反向传递训练算法的BP 网络是神经网络中最常见的一类网络形式, 也是目前研究最多、最成熟的神经网络系统。据统计, 80%90%的神经网络模型采用了BP 网络或者它的改进形式。BP 神经网络采用误差反传学习算法( 也称BP 算法) , 是一种多层前馈网络使用的监控式学习算法。BP 网络是一种有导师的学习算法,其主要思想是把整个学习过程分为4 个部分: 一是输入模式从输入层经隐含层传向输出层的: “模式顺传播”过程; 二是网络的希望输出与实际输出之差的误差信号由输出层经隐含层向输入层逐层修正连接权的“误差逆传播”过程; 三是由“模式顺传播”和“误差逆传播”的反复交替进行的网络“记忆训练”过程; 四是网络趋向收敛即网络的全局误差趋向极小值的“学习收敛”过程。 人工神经网络是在现代神经生物学研究基础上提出的模拟生物过程,反映人脑某些特性的一种计算结构。它不是人脑神经系统的真实描写,而只是它的某种抽象、简化和模拟。根据前面对生物神经网络的介绍可知,神经元及其突触是神经网络的基本器件。因此,模拟生物神经网络应首先模拟生物神经元。在人工神经网络中,神经元常被称为“处理单元”,有时从网络的观点出发常把它称为“节点”。人工神经元是对生物神经元的一种形式化描述,它对生物神经元的信息处理过程进行抽象,并用数学语言予以描述;对生物神经元的结构和功能进行模拟,并用模型图予以表达。 目前人们提出的神经元模型己有很多,其中最早提出且影响最大的,是1943年心理学索 McCul1oh和数学家W.Pitts在分析总结神经元基本特性的基础上首先提出的M-P模型。该模型经过不断改进后,形成目前广泛应用的神经元模型形式。关于神经元的信息处理机制,该模型在简化的基础上提出以下6点假定进行描述: (1)每个神经元都是一个多输入单输出的信息处理单元; (2)神经元输入分兴奋性输入和抑制性输入两种类型; (3)神经元具有空间整合特性和阂值特性; (4)神经元输入与输出间有固定的时滞,主要取决于突触延搁; (5)忽略时间整合作用和不应期; (6)神经元本身是非时变的,即其突触时延和突触强度均为常数。 神经细胞是构筑神经系统和人脑的基本单元,它既具有结构和功能的动态特性,又具有时间和空间的动态特性,其简单有序的编排构成了完美复杂的大脑。神经细胞之间的通信是通过其具有可塑性的突触祸合实现的,这使它们成为一个有机的整体。人工神经网络就是通过对人脑的基本单元神经细胞一一的建模和连接,来探索模拟人脑神经系统功能的模型,其任务是构造具有学习、联想、记忆和模式识别等智能信息处理功能的人工系统。在各种智能信息处理模型中,人工神经网络是最具有大脑风格的智能信息处理模型,许多网络都能反映人脑功能的若干基本特性,但并非生物系统的逼真描述,只是对其局部电路的某种模仿、简化和抽象。大量神经元组成庞大的神经网络,才能实现对复杂信息的处理与存储,并表现出各种优越的特性。神经网络的强大功能与其大规模并行互连、非线性处理以及互连结构的可塑性密切相关。因此必须按一定规则将神经元连接成神经网络,并使网络中各神经元的连接权按一定规则变化。生物神经网络由数以亿计的生物神经元连接而戒,而人工神经网络限于物理实现的困难和为了计算简便,是由相对少量的神经元按一定规律构成的网络。人工神经网络中的神经元常称为节点或处理单元,每个节点均具有相同的结构,其动作在时间和空间上均同步。人工神经网络的模型很多,可以按照不同的方法进行分类。其中常见的两种分类方法是:按网络连接的拓扑结构分类和按网络内部的信息流向分类。(1)按照网络拓扑结构类型神经元之间的连接方式不同,网络的拓扑结构也不同。根据神经元之间连接方式,可将神经网络结构分为层次型结构、互连型结构两大类。(2)根据神经网络内部信息的传递方向,可分为前馈型网络、反馈型网络两种类型。 目前国外在工程上获得实际应用的神经元模型,大部分是BP(Back Propagition BP,误差反馈)网络。BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)(如图3.9所示)。 BP网络的学习过程主要由四部分组成:(1) 输入模式顺传播(输入模式由输入层经中间层向输出层传播计算);(2) 输出误差逆传播(输出的误差由输出层经中间层传向输入层);(3) 循环记忆训练(模式顺传播与误差逆传播的计算过程反复交替循环进行);(4) 学习结果判别(判定全局误差是否趋向极小值)。就是根据这四个过程并分别编程。二、设计(论文)的基本内容1. 熟悉C语言软件2研究BP网络工作原理3. 神经网络训练、测试过程编程4. 预测实例三、技术路线(研究方法)调查研究、收集资料对系统进行数学建模设计算法用C语言编写程序调试程序对系统进行学习训练用数据对系统进行测试整理文档,形成设计说明书 四、进度安排(1)熟悉任务书,了解相关信息,准备资料,填写开题报告:第12周(3月1日3月14日)(2)建立精确BP数学模型,提相应问题:第34周(3月15日3月28日)(3)确定算法及中期检查:第56周(3月29日4月11日)(4)编程序:第711周(4月12日5月9日)(5)运行调试;第1213周(5月10日5月30日)(6)设计说明书评阅、审核及修改不足:第1416周(5月31日6月20日)(7)为毕业设计答辩做准备及答辩:第17周(6月21日6月27日)五、参考文献1艾立群. 人工神经网络在钢铁工业中的应用J. 钢铁研究学报. 1997, 9(4):60-63.2王秀梅, 王国栋, 刘相华. 人工神经网络和数学模型在热连轧机组轧制力预报中的综合应用J.钢铁,1999, 34(3):37-43.3牛济泰, 孙雷剑, 李海涛.基于人工神经网络的微合金钢热轧奥氏体晶粒尺寸模型的研究J. 材料科学与工艺,1999, 7(3):12-16.4高永生, 张鹏, 崔军, 等. 应用人工神经网络预测50CrV4钢的变形抗力J. 钢铁, 1998, 33(4):27-30.5王铁, 陈进. BP算法中学习率及形状因子对学习速度的综合影响J. 上海交通大学学报,1997, 31(3) :109-112.6Bellomo P, Palchetti M, Maria E S,et al . Neural Networks Utilization for Breakout MonitoringA. Steelmaking Conference ProceedingC. Nashville : A Publication of t he Iron and Steel Society, 1995. 345.7Ludwig. Thermophysical Properties Necessary for Advanced Casting SimulationJ. International Journal of Thermophysics. 2002, 23(5):1131-1146.8Kurz W, Grugel R N. Columnar dendritic growth: experiment and theory J. Materials Science Forum, 1991, (77): 185-204.指导教师意见:签字: 年 月 日 学生姓名:毕业设计指导教师评分表学生姓名高小林院系汽车与交通工程学院专业、班级车辆07-11班指导教师姓名王悦新职称实验师从事专业汽车工程是否外聘是否题目名称基于C语言的BP神经网络预测程序开发序号评 价 项 目满分得分1选题与专业培养目标的符合程度,综合训练情况;题目难易度102题目工作量;题目与工程实践、社会实际、科研与实验室建设等的结合程度103综合运用知识能力(设计涉及学科范围,内容深广度及问题难易度);应用文献资料能力154设计(实验)能力;计算能力(数据运算与处理能力);外文应用能力205计算机应用能力;对实验结果的分析能力(或综合分析能力、技术经济分析能力)106插图(图纸)质量;设计说明书撰写水平;设计的实用性与科学性;创新性207设计规范化程度(设计栏目齐全合理、SI制的使用等)58科学素养、学习态度、纪律表现;毕业论文进度10得 分 X= 评 语:(参照上述评价项目给出评语,注意反映该论文的特点)工作态度: 好 较好 一般 较差 很差研究能力或设计能力:强 较强 一般 较弱 很弱工作量: 大 较大 适中 较少 很少说明书规范性: 好 较好 一般 较差 很差图纸规范性: 好 较好 一般 较差 很差成果质量(设计方案、设计方法、正确性)好 较好 一般 较差 很差其他: 指导教师签字: 2011年 06月15日毕业设计评阅人评分表学生姓名高小林专业班级车辆07-11班指导教师姓名王悦新职称实验师题目基于C语言的BP神经网络预测程序开发评阅组或预答辩组成员姓名出席人数序号评 价 项 目满分得分1选题与专业培养目标的符合程度,综合训练情况;题目难易度102题目工作量;题目与工程实践、社会实际、科研与实验室建设等的结合程度103综合运用知识能力(设计涉及学科范围,内容深广度及问题难易度);应用文献资料能力154设计(实验)能力;计算能力(数据运算与处理能力);外文应用能力255计算机应用能力;对实验结果的分析能力(或综合分析能力、技术经济分析能力)156插图(图纸)质量;设计说明书撰写水平;设计的实用性与科学性;创新性207设计规范化程度(设计栏目齐全合理、SI制的使用等)5得 分 Y= 评 语:(参照上述评价项目给出评语,注意反映该论文的特点)回答问题: 正确 基本正确 基本不正确 不能回答所提问题研究能力或设计能力:强 较强 一般 较弱 很弱工作量: 大 较大 适中 较少 很少说明书规范性: 好 较好 一般 较差 很差图纸规范性: 好 较好 一般 较差 很差成果质量(设计方案、设计方法、正确性)好 较好 一般 较差 很差其他: 评阅人或预答辩组长签字: 2011年 06月 08日 注:毕业设计(论文)评阅可以采用2名评阅教师评阅或集体评阅或预答辩等形式。毕业设计答辩评分表学生姓名高小林专业班级车辆07-11班指导教师王悦新职 称实验师题目基于C语言的BP神经网络预测程序开发 答辩时间月 日 时答辩组成员姓名出席人数序号评 审 指 标满分得分1选题与专业培养目标的符合程度,综合训练情况,题目难易度、工作量、与实际的结合程度102设计(实验)能力、对实验结果的分析能力、计算能力、综合运用知识能力103应用文献资料、计算机、外文的能力104设计说明书撰写水平、图纸质量,设计的规范化程度(设计栏目齐全合理、SI制的使用等)、实用性、科学性和创新性155毕业设计答辩准备情况56毕业设计自述情况207毕业设计答辩回答问题情况30总 分 Z= 答辩过程记录、评语:自述思路与表达能力:好 较好 一般 较差 很差回答问题: 正确 基本正确 基本不正确 不能回答所提问题研究能力或设计能力:强 较强 一般 较弱 很弱工作量: 大 较大 适中 较少 很少说明书规范性: 好 较好 一般 较差 很差图纸规范性: 好 较好 一般 较差 很差成果质量(设计方案、设计方法、正确性)好 较好 一般 较差 很差其他: 答辩组长签字: 2011年 06月 22日毕业设计成绩评定表学生姓名高小林性别男院系汽车与交通工程学院专业车辆工程班级车辆07-11班设计题目基于C语言的BP神经网络预测程序开发平时成绩评分(开题、中检、出勤)指导教师姓名王悦新职称实验师指导教师评分(X)评阅教师姓名职称评阅教师评分(Y)答辩组组长崔宏耀职称副教授答辩组评分(Z)毕业设计(论文)成绩百分制五级分制答辩委员会评语:答辩委员会主任签字(盖章): 院系公章: 2011年 06月 24日注:1、平时成绩(开题、中检、出勤)评分按十分制填写,指导教师、评阅教师、答辩组评分按百分制填写,毕业设计(论文)成绩百分制=W+0.2X+0.2Y+0.5Z 2、评语中应当包括学生毕业设计(论文)选题质量、能力水平、设计(论文)水平、设计(论文)撰写质量、学生在毕业设计(论文)实施或写作过程中的学习态度及学生答辩情况等内容的评价。BP network #include stdio.h#include stdlib.h#include math.h#define wIN 7/9/输入层#define wHN 10/中间层#define wON 1/3/输出层#define wPN 9#define wTN 4#define wPREN 98/预测的数量#define walpha 0.075#define weta 0.15#define wMAXIT 200000#define wSERROR 1.0e-4void wTrain();void wRetrain();void wTest();void wpre();void wforward();int s;float wpfMap(float x,float m,float n, float h,float l);float wpbMap(float x,float m,float n, float h,float l);float wIPwINwPN,wDPwONwPN,wDwON,wIVwIN,wHVwHN,wOVwON, wvwHNwON,wdvwHNwON, wdv1wHNwON, wwwINwHN,wdwwINwHN,wdw1wINwHN,wsthwHN,wdsthwHN,wdsth1wHN,wstowON,wdstowON,wdsto1wON, wdtowON,wdthwHN,wDTwONwTN,wITwINwTN,wxminwIN+3,wxmaxwIN+3,wyminwIN+3,wymaxwIN+3; errwON;FILE *wfpin, *wfparea, *wfpout,*wfpout1, *wfptest,*wfppre, *wfpwt, *wfpneural; *wfperr;char wszIn66=In.dat;char wszOut66=out.dat;/char wszOut66=out.xls;char wszOut166=out1.dat;char wszTest66=Test.dat;char wszpre66=pre.dat;char wszWt66=wt.dat;char wszArea66=Area.dat;char wszneural66=neural.txt;char wszerr66=err.dat;void main()int s;/*printf(nWelcome to use this BP neural network program!n);printf(Please select the following numbers:n);printf(1)Training(2)Retraining(3)Test(0)Endn);scanf(%d,&s);*/if (wfpneural=fopen(wszneural,r)=NULL)printf(Cant open input data file:%s!,wszneural);exit(1); fscanf(wfpneural,%d,&s);switch (s)case 1 : wTrain();break;case 2 : wRetrain(); break;case 3 : wTest();break;case 4 : wpre();break;case 0 : exit(1);fclose(wfpneural);void winput() int k,j,i;float x;if (wfpin=fopen(wszIn,r)=NULL)printf(Cant open input data file:%s!,wszIn);exit(1); if(wfparea=fopen(wszArea,r)=NULL)printf(cant open file %sn,wszArea);exit(1);for (j=0;jwIN+3;j+)fscanf(wfparea,%f%f%f%f,&wxminj,&wxmaxj,&wyminj,&wymaxj); for (i=0;iwPN;i+) for (j=0;jwIN;j+)float m=wxminj;float n=wxmaxj;float h=wyminj;float l=wymaxj;fscanf(wfpin,%e ,&wIPji);x=wIPji;wIPji=wpfMap(x,m,n,h,l);for(k=0;kwON;k+) float m=wxminwIN+k;float n=wxmaxwIN+k;float h=wyminwIN+k;float l=wymaxwIN+k;fscanf(wfpin,%e ,&wDPki);x=wDPki;wDPki=wpfMap(x,m,n,h,l);fclose(wfparea);fclose(wfpin);void winitwt()int j,i;int frand;for (i=0;iwHN;i+)for (j=0;jwIN;j+)frand=rand();wwji=0.3f*(1.0f-2*frand/RAND_MAX);wdwji=0.0;wdw1ji=0.0;frand=rand();wsthi=0.3f*(1.0f-2*frand/RAND_MAX);wdsthi=0.0;wdsth1i=0.0;for (i=0;iwON;i+)for (j=0;jwHN;j+)frand=rand();wvji=0.3f*(1.0f-2*frand/RAND_MAX);wdvji=0.0;wdv1ji=0.0;frand=rand();wstoi=0.3f*(1.0f-2*frand/RAND_MAX);wdstoi=0.0;wdsto1i=0.0;void wforward()int j,i;float sum;for (i=0;iwHN;i+)sum=0.0;for (j=0;jwIN;j+) sum+=wwji*wIVj;sum=sum-wsthi;wHVi=(float)(1.0f/(1.0f+exp(-sum);for (i=0;iwON;i+)sum=0.0;for (j=0;jwHN;j+) sum+=wvji*wHVj;sum=sum-wstoi;wOVi=(float)(1.0f/(1.0f+exp(-sum);void wbackwd()int j,i;float sum;for (i=0;iwON;i+)wdtoi=(wDi-wOVi)*wOVi*(1.0f-wOVi);for (i=0;iwHN;i+)sum=0.0;for (j=0;jwON;j+) sum+=wdtoj*wvij;wdthi=sum*wHVi*(1.0f-wHVi);for (j=0;jwON;j+)for (i=0;iwHN;i+)sum=wdtoj*wHVi;wdvij=(float)(weta*sum+walpha*wdv1ij);wvij+=wdvij;wdv1ij=wdvij;wdstoj=(float)(-weta*wdtoj+walpha*wdsto1j);wstoj+=wdstoj;wdsto1j=wdstoj; for (j=0;jwHN;j+)for (i=0;iwIN;i+)sum=wdthj*wIVi;wdwij=(float)(weta*sum+walpha*wdw1ij);wwij+=wdwij;wdw1ij=wdwij;wdsthj=(float)(-weta*wdthj+walpha*wdsth1j);wsthj+=wdsthj;wdsth1j=wdsthj;void wTrain()int k,j,i,ct=0;float errwON;printf(n);printf(n);printf(BP网络-高小林n);printf(n);printf(n);printf(正在训练-!n);printf(n);printf(n);printf(需要几分钟n);printf(n);printf(n);printf(请耐心等待.n);winitwt();winput();do for(i=0;iwON;i+) erri=0.0;for (k=0;kwPN;k+) for (i=0;iwIN;i+) wIVi=wIPik;for (i=0;iwON;i+) wDi=wDPik;wforward();for (i=0;iwON;i+) erri+=(wDi-wOVi)*(wDi-wOVi);wbackwd();ct+; while (ctwSERROR);if (wfpwt=fopen(wszWt,w)=NULL)/*printf(Cant write Weight data file:%s!,wszWt);*/exit(1);for (i=0;iwHN;i+)for (j=0;jwIN;j+)fprintf(wfpwt,%e,%e,%en,wwji,wdwji,wdw1ji);fprintf(wfpwt,%e,%e,%en,wsthi,wdsthi,wdsth1i);for (i=0;iwON;i+)for (j=0;jwHN;j+)fprintf(wfpwt,%e,%e,%en,wvji,wdvji,wdv1ji);fprintf(wfpwt,%e,%e,%en,wstoi,wdstoi,wdsto1i);if (wfperr=fopen(wszerr,w)=NULL)/* printf(Cant write Weight data file:%s!,wszWt);*/exit(1);for(i=0;iwON;i+)erri=erri/(wPN*wON);erri=(float)sqrt(erri);fprintf(wfperr,%en,erri);/*printf(循环%4d次后err%d为: %en,ct,i,erri);*/fclose(wfperr);fclose(wfpwt);void wRetrain()int k,j,i,ct=0;float errwON;printf(n);printf(n);printf(BP网络-高小林n);printf(n);printf(n);printf(正在训练-!n);printf(n);printf(n);printf(需要几分钟n);printf(n);printf(n);printf(请耐心等待.n);if (wfpwt=fopen(wszWt,r)=NULL)printf(Cant open Weight data file:%s!,wszWt);exit(1);for (i=0;iwHN;i+)for (j=0;jwIN;j+)fscanf(wfpwt,%e,%e,%e,&wwji,&wdwji,&wdw1ji);fscanf(wfpwt,%e,%e,%e,&wsthi,&wdsthi,&wdsth1i);for (i=0;iwON;i+)for (j=0;jwHN;j+)fscanf(wfpwt,%e,%e,%e,&wvji,&wdvji,&wdv1ji);fscanf(wfpwt,%e,%e,%e,&wstoi,&wdstoi,&wdsto1i);fclose(wfpwt);winput();do for (i=0;iwON;i+)erri=0.0;for (k=0;kwPN;k+) for (i=0;iwIN;i+)wIVi=wIPik;for (i=0;iwON;i+) wDi=wDPik;wforward(); for (i=0;iwON;i+) erri+=(wDi-wOVi)*(wDi-wOVi);wbackwd();ct+; while (ctwSerrOR);if (wfpwt=fopen(wszWt,w)=NULL)printf(Cant write Weight data file :%s!,wszWt);exit(1);for (i=0;iwHN;i+)for (j=0;jwIN;j+)fprintf(wfpwt,%e,%e,%en,wwji,wdwji,wdw1ji);fprintf(wfpwt,%e,%e,%en,wsthi,wdsthi,wdsth1i);for (i=0;iwON;i+)for (j=0;jwHN;j+)fprintf(wfpwt,%e,%e,%en,wvji,wdvji,wdv1ji);fprintf(wfpwt,%e,%e,%en,wstoi,wdstoi,wdsto1i);if (wfperr=fopen(wszerr,w)=NULL)/* printf(Cant write Weight data file:%s!,wszWt);*/exit(1);for(i=0;iwON;i+)erri=erri/(wPN*wON);erri=(float)sqrt(erri);fprintf(wfperr,%en,erri);/*printf(循环%4d次后err%d为: %en,ct,i,erri);*/fclose(wfperr);fclose(wfpwt);void wTest() int k,j,i;float errwON;float x;/*printf(Testing-!n);*/if (wfpwt=fopen(wszWt,r)=NULL)printf(Cant open Weight data file:%s!,wszWt);exit(1);for (i=0;iwHN;i+)for (j=0;jwIN;j+)fscanf(wfpwt,%e,%e,%e,&wwji,&wdwji,&wdw1ji);fscanf(wfpwt,%e,%e,%e,&wsthi,&wdsthi,&wdsth1i);for (i=0;iwON;i+)for (j=0;jwHN;j+)fscanf(wfpwt,%e,%e,%e,&wvji,&wdvji,&wdv1ji);fscanf(wfpwt,%e,%e,%e,&wstoi,&wdstoi,&wdsto1i);fclose(wfpwt);if (wfpout=fopen(wszOut,w)=NULL)printf(Cant write output data file:%s!,wszOut);exit(1);if (wfptest=fopen(wszTest,r)=NULL)printf(Cant open test data file:%s!,wszTest);exit(1);if(wfparea=fopen(wszArea,r)=NULL)printf(cant open file %sn,wszArea);exit(1);for (i=0;iwIN+3;i+)fscanf(wfparea,%f%f%f%f,&wxmini,&wxmaxi,&wymini,&wymaxi);for (i=0;iwTN;i+) for (j=0;jwIN;j+)float m=wxminj;float n=wxmaxj;float h=wyminj;float l=wymaxj;fscanf(wfptest,%e,&wITji);x=wITji;wITji=wpfMap(x,m,n,h,l);for(k=0;kwON;k+) float m=wxminwIN+k;float n=wxmaxwIN+k;float h=wyminwIN+k;float l=wymaxwIN+k;fscanf(wfptest,%e,&wDTki);x=wDTki;wDTki=wpfMap(x,m,n,h,l);for (i=0;iwON;i+) erri=0.0;for (k=0;kwTN;k+) for (i=0;iwIN;i+)wIVi=wITik;for (i=0;iwON;i+) wDi=wDTik;wforward();for (i=0;iwON;i+) float m=wxminwIN+i;float n=wxmaxwIN+i;float h=wyminwIN+i;float l=wymaxwIN+i;x=wOVi;wOVi=wpbMap(x,m,n,h,l);x=wDi;wDi=wpbMap(x,m,n,h,l);erri+=(wDi-wOVi)*(wDi-wOVi);fprintf(wfpout,%8.2ft,wOVi);fprintf(wfpout,%8.2ft,wDi);fprintf(wfpout,%10.4ft,(wDi-wOVi)/wDi);fprintf(wfpout,n);if (wfperr=fopen(wszerr,w)=NULL)/* printf(Cant write Weight data file:%s!,wszWt);*/exit(1);for(i=0;iwON;i+)erri=erri/(wPN*wON);erri=(float)sqrt(erri);fprintf(wfperr,%en,erri);/*printf(循环%4d次后err%d为: %en,ct,i,erri);*/fclose(wfperr);fclose(wfptest);fclose(wfparea);fclose(wfpout);void wpre() int k,j,i;float errwON;float x;/*printf(predicting-!n);*/if (wfpwt=fopen(wszWt,r)=NULL)printf(Cant open Weight data file:%s!,wszWt);exit(1);/read the satisfied wt value for (i=0;iwHN;i+)for (j=0;jwIN;j+)fscanf(wfpwt,%e,%e,%e,&wwji,&wdwji,&wdw1ji);fscanf(wfpwt,%e,%e,%e,&wsthi,&wdsthi,&wdsth1i);for (i=0;iwON;i+)for (j=0;jwHN;j+)fscanf(wfpwt,%e,%e,%e,&wvji,&wdvji,&wdv1ji);fscanf(wfpwt,%e,%e,%e,&wstoi,&wdstoi,&wdsto1i);fclose(wfpwt);if (wfpout1=fopen(wszOut1,w)=NULL)printf(Cant write output data file:%s!,wszOut1);exit(1);if (wfppre=fopen(wszpre,r)=NULL)printf(Cant open pre data fi
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于C语言的BP神经网络预测程序开发
链接地址:https://www.renrendoc.com/p-32781878.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!