function y = sigmoide(x,K)
%
% A função SIGMOIDE calcula a relação
% entrada-saída da função y = 1 / (1+ e^(-K*x)).
%
% Chamada: y = sigmoide(x,K), em que K é um escalar
% e x pode ser um escalar ou um array uni-dimensional

if nargin<1
   demo
   return
end

[linhas_K, colunas_K] = size(K);
[linhas_x, colunas_x] = size(x);
if (linhas_x> 1 && colunas_x> 1)
   error('x tem que se um array uni-dimensional.')
elseif ~(linhas_K== 1 && colunas_K== 1)
   error('K tem que ser um escalar.')
end

y =1./(1 + exp(-K*x));


function demo
figure(201); clf; hold on
x= -5:.01:5;
plot(x, sigmoide(x,1), 'r')
plot(x, sigmoide(x,10), 'g')
plot(x, sigmoide(x,100), 'b')
