völlig richtig, ich habe mein Netz deshalb ja auch 100% skalierbar aufgebaut, mit beliebig vielen Inputs, Outputs und Neuron-Layer-Größen - die Rechnerei bleibt bei einem 3-Neuronen-Netz oder bei einem 50-Neuronen-Netz absolut dieselbe:
Code:
// neural net size
#define  NMAXIN    108       // max number of inputs (sensors)
#define  NMAXHID    20       // max number hidden layer neurons
#define  NMAXOUT    20       // max number output layer neurons

#define  NMAXPAT    70       // <<< max number of traineable patterns;
//-------------------------------------------------------------------------------------
// neural net: neurons and patterns

float    WeightLIn[NMAXIN+1][NMAXHID+1];
float    WeightLOut[NMAXHID+1][NMAXOUT+1];

float    Input[NMAXPAT+1][NMAXIN+1];
float    Target[NMAXPAT+1][NMAXOUT+1];
float    Output[NMAXPAT+1][NMAXOUT+1];
//float    Contxt[NMAXOUT+1];    // Jordan-net: neuron-number == output-number

float    currIn[NMAXIN+1],     // currently polled inputs
         inbuf[NMAXIN+1];      // intermediate stored inputs for editing
float    currOut[NMAXOUT+1],   // currently computed net outputs
         outbuf[NMAXOUT+1];    // intermediate stored outputs

int16_t  NumInput = NMAXIN, NumHidden = NMAXHID, NumOutput = NMAXOUT;