End S_Train {Конец описания обучаемого гиперболического сигмоидного элемента}
Element S_NotTrain(Char : Real) {Не обучаемый гиперболический сигмоидный элемент Char – характеристика}
InSignals 1 {Один входной сигнал}
OutSignals 1 {Один выходной сигнал}
Forw {Начало описания прямого функционирования}
Begin
{Выходной сигнал равен отношению входного сигнала к сумме характеристики и абсолютной величины входного сигнала}
OutSignals[1] =InSignals[1] / (Char +Abs(InSignals[1])
End {Конец описания прямого функционирования}
Back {Начало описания обратного функционирования}
Begin
{Поправка к входному сигналу равна отношению произведения поправки выходного сигнала на характеристику к квадрату суммы характеристики и абсолютной величины входного сигнала}
Back.InSignals[1] =Back.OutSignals[1] * Char / Sqr(Char +Abs(InSignals[1]);
End {Конец описания обратного функционирования}
End S_NotTrain {Конец описания гиперболического сигмоидного элемента}
Element Pade(Char : Real) {Паде преобразователь Char – характеристика}
InSignals 2 {Два входных сигнала}
OutSignals 1 {Один выходной сигнал}
Forw {Начало описания прямого функционирования}
Begin
{Выходной сигнал равен отношению первого входного сигнала к сумме характеристики и второго входного сигнала}
OutSignals[1] =InSignals[1] / (Char+InSignals[2])
End {Конец описания прямого функционирования}
Back {Начало описания обратного функционирования}
Var Real R; {R – действительное}
Begin
{Вспомогательная величина равна поправке к первому входному сигналу – отношению поправки выходного сигнала к сумме характеристики и второго входного сигнала}
R= Back.OutSignals[1] / (Char+ InSignals[2]);
Back.InSignals[1] = R;
{Поправка ко второму входному сигналу равна минус отношению произведения первого входного сигнала на поправку выходного сигнала к квадрату суммы характеристики и второго входного сигнала}
Back.InSignals[2] = -R *OutSignals[1];
End {Конец описания обратного функционирования}
End Pade {Конец описания Паде преобразователя}
Element Sign_Mirror {Зеркальный пороговый элемент}
InSignals 1 {Один входной сигнал}
OutSignals 1 {Один выходной сигнал}
Forw {Начало описания прямого функционирования }
Begin
If InSignals[1] > 0 Then OutSignals[1] =1 {Выходной сигнал равен 1, если входной сигнал}
Else OutSignals[1] =0 {больше нуля, и нулю в противном случае}
End {Конец описания прямого функционирования}
Back {Начало описания обратного функционирования}
Begin
Back.InSignals[1] = OutSignals[1]; {Поправка к входному сигналу равна выходному сигналу}
End {Конец описания обратного функционирования}