我运行了这段代码,但在"错误函数"中有一个错误。我收到的错误信息是:
使用错误时出错
输出参数太多。
有人知道问题出在哪里吗?
w=2*rand(3,4)-1; % Randomly choosen between -1 and 1
x=[ 5 55 14 32; 4 4 84 5; 4 31 9 4; 4 45 99 2]; % Desired outputs
d=[ 1, 1, 0 ; 0, 1, 0 ; 0, 0, 1 ];
for j1=1:3,
yi=w'*x(:,j1); % Network output
y=sign(yi);
if sum(y-d(1,:)') > 0
error = error+1
end
end
变量error未定义,在定义之前使用。由于未定义。。。。。它采用了内置的matlab函数误差不要将变量名用作MATLAB内置函数。您可以将此变量重命名为其他变量名,例如myerror。不要忘记初始化它。查看下面的示例代码。
for i = 1:10
error = error+1 ;
end
上面的代码显示错误输出参数过多。因为代码采用了错误是内置函数,因为它没有初始化。
error = 0 ;
for i = 1:10
error = error+1 ;
end
上面的工作原理,因为我们已经初始化了错误,代码将不会采用内置函数。但以上并不是建议的。切勿将matlab中现有的函数重写为变量名。建议如下。
myerror = 0 ;
for i = 1:10
myerror = myerror+1 ;
end
我怀疑问题的根源是因为error
是一个MATLAB函数,并且您试图将其用作变量,因此出现错误消息"error using error"。将变量名更改为类似my_error
或类似的名称,它应该可以工作。