Log-sigmoid transfer function

Graph and Symbol


A = logsig(N,FP)
dA_dN = logsig('dn',N,A,FP)
info = logsig('code')


logsig is a transfer function. Transfer functions calculate a layer’s output from its net input.

A = logsig(N,FP) takes N and optional function parameters,


S-by-Q matrix of net input (column) vectors


Struct of function parameters (ignored)

and returns A, the S-by-Q matrix of N’s elements squashed into [0, 1].

dA_dN = logsig('dn',N,A,FP) returns the S-by-Q derivative of A with respect to N. If A or FP is not supplied or is set to [], FP reverts to the default parameters, and A is calculated from N.

info = logsig('code') returns useful information for each code character vector:

logsig('name') returns the name of this function.

logsig('output',FP) returns the [min max] output range.

logsig('active',FP) returns the [min max] active input range.

logsig('fullderiv') returns 1 or 0, depending on whether dA_dN is S-by-S-by-Q or S-by-Q.

logsig('fpnames') returns the names of the function parameters.

logsig('fpdefaults') returns the default function parameters.


Here is the code to create a plot of the logsig transfer function.

n = -5:0.1:5;
a = logsig(n);

Assign this transfer function to layer i of a network.

net.layers{i}.transferFcn = 'logsig';


logsig(n) = 1 / (1 + exp(-n))

See Also


Introduced before R2006a