#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 successfully*/ #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