#include #include #include double nonlinear(double x); double inverse_nonlinear(double x); double trainingfunction(double x, double y, double z); int main() { #define NUM_INPUTS 3 #define NUM_NODES NUM_INPUTS #define NUM_LAYERS 3 #define NUM_OUTPUTS 1 double inputs[NUM_INPUTS]; double weights[NUM_LAYERS][NUM_NODES][NUM_INPUTS]; double internal[NUM_LAYERS][NUM_NODES]; double output[NUM_OUTPUTS]; double outputweights[NUM_NODES][NUM_OUTPUTS]; double mu; double traininput[NUM_INPUTS]; double trainoutput[NUM_OUTPUTS]; double outputerror[NUM_OUTPUTS]; double internalerror[NUM_LAYERS][NUM_NODES]; double collector; int i,j,k,l; mu=0.1; srand(10); // training part for(l=0;l<1000;l++) { // select the first training vector pair of input and output for(i=0;i