我不知道为什么它告诉我之前从未使用它时我曾用作变量。
这是我的代码:
price := 0;
temp := 0;
for i=1:m,
price += -y(i)*log( sigmoid(theta'*X(i,:)) ) -(1-y(i))*log(1-sigmoid(theta'*X(i,:)) );
end;
J = price / m;
for i=1:n,
temp := 0;
for i2=1:m,
temp += ( 1-sigmoid(theta'*X(i2,:)) - y(i2) ) * X(j,i2);
end;
grad(i) = temp;
end;
错误在于:
'price += -y(i)*log( sigmoid(theta'*X(i,:)) ) -(1-y(i))*log(1-sigmoid(theta'*X(i,:)) );'
记录错误: “price”以前用作变量,与此处用作函数或命令的名称相冲突。 有关详细信息,请参阅MATLAB文档中的“MATLAB如何识别命令语法”。