Undefined function 'sigmoid' for input arguments of type 'double'.

3 次查看(过去 30 天)
addpath('C:\Program Files\MATLAB\R2012a\Matlab\q2')
load X.dat
load Y.dat
temp1=X(:,1);
temp2=X(:,2);
temp1=(temp1-mean(temp1))./std(temp1);
temp2=(temp2-mean(temp2))./std(temp2);
m=length(X);
X=[ones(m,1),temp1,temp2];
theta=[0;0;0];
MAX_ITR=100;
J=zeros(MAX_ITR,1);
alpha=0.07;
for num_iteration=1:MAX_ITR
J(num_iteration)=(1/m)*((-Y')*log(sigmoid(X*theta))-(1-Y')*log(1-sigmoid(X*theta)));
grad=(1/m)*X'*(sigmoid(X*theta)-Y);
theta=theta-alpha.*grad;
end
z=X*theta;
g=inline('(1./(1+exp(-z)))');
fprintf('Theta values are ...\n')
g(z)
Undefined function 'sigmoid' for input arguments of type 'double'.

回答(1 个)

Guillaume
Guillaume 2014-10-22
As far as I can tell, sigmoid is not a function of matlab in any toolbox, so unless you've written it yourself and it's in the matlab path, it's not going to be found.

类别

Help CenterFile Exchange 中查找有关 Get Started with Image Processing Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by