下载此文档

BP神经网络算法.doc


文档分类:IT计算机 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
#include <> #include <> #include <> #include <> #include <> #define NMHL 5 /*max no. of hidden layers*/ #define NMOU 10 /*max no. of output units*/ #define NMIU 10 /*max no. of input units*/ #define NMIS 200 /*max no. of input samples*/ #define SEXIT 2 /*exit essfully*/ #define FEXIT 1 /*exit in failure*/ #define CONTNE 0 /*continue calculation*/ float eta; /*learning rate*/ float alpha; /*momentum rate*/ float err; /*normalized system error*/ float maxe; /*max allowed system error*/ float maxep; /*max allowed pattern error*/ float *wtp[NMHL+1],*detaw[NMHL+1],*outp[NMHL+2],*errp[NMHL+2]; float target[NMIS][NMOU],input[NMIS][NMIU],output[NMIS][NMOU],ep[NMIS][6]; int nunit[NMHL+2],nhlay,ninps,ninpu,noutpu; int result,count,count_num; char task_name[20]; FILE *fp1,*fp2,*fp3,*fopen(); int fplot10; void init() { int len1,len2,i; float *p1,*p2,*p3,*p4; len1=len2=0; nunit[nhlay+2]=0; for(i=0;i<nhlay+2;i++) { len1+=(nunit[i]+1)*nunit[i+1]; len2+=nunit[i]+1; } p1=(float *) calloc(len1+1,sizeof(float)); p2=(float *) calloc(len2+1,sizeof(float)); p3=(float *) calloc(len2+1,sizeof(float)); p4=(float *) calloc(len1+1,sizeof(float)); wtp[0]=p1; outp[0]=p2; errp[0]=p3; detaw[0]=p4; for(i=1;i<nhlay+1;i++) { wtp[i]=wtp[i-1]+nunit[i]*(nunit[i-1]+1); detaw[i]=detaw[i-1]+nunit[i]*(nunit[i-1]+1); } for(i=1;i<nhlay+2;i++) { outp[i]=outp[i-1]+nunit[i-1]+1; errp[i]=errp[i-1]+nunit[i-1]+1; } for(i=0;i<nhlay+1;i++) { *(outp[i]+nunit[i])=-; }} void qarn() { int i,j; FILE *fp0; char weifile[20]; printf("\n Enter the weights name:"); scanf("%s",weifile); if((fp0=fopen(weifile,"r"))==NULL) { printf("\n File %s doesn't exit",weifile); exit(0); } for(i=0;i<nhlay+1;i++) for(j=0;j<(nunit[i]+1)*nunit[i+1];j++) { fscanf(fp0,"%f",(wtp[i]+j)); *(detaw[i]+j)=; } return; } void setup() { int i,j,k; char filnam[20],type[20]; FILE *fp; printf("\nStart of learning session"); printf("\nEnter the task name:"); scanf("%s",task_name); printf("\n How many units in input p

BP神经网络算法 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1322891254
  • 文件大小61 KB
  • 时间2017-02-24