我运行了这段代码,但是“错误功能”出现错误。 我得到的错误消息:
使用错误出错
输出参数过多。
有人知道是什么问题吗?
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
答案 0 :(得分:4)
未定义变量错误,并且在定义它之前就使用了它。由于未定义.....它正在发生内置的matlab函数错误。 请勿将变量名称用作MATLAB内置函数。您将此变量重命名为其他变量名,例如myerror。不要忘记初始化它。检查以下示例代码。
for i = 1:10
error = error+1 ;
end
上面的代码显示错误输出参数太多。由于该代码采用 error 是内置函数,因此未初始化。
error = 0 ;
for i = 1:10
error = error+1 ;
end
上面的方法可以正常工作,因为我们已经初始化了 error ,因此代码不会采用内置函数。 但以上不建议。切勿将matlab中的现有函数作为变量名覆盖。建议如下。
myerror = 0 ;
for i = 1:10
myerror = myerror+1 ;
end
答案 1 :(得分:2)
我怀疑您的问题的根源是因为error
是MATLAB函数,并且您尝试将其用作变量,因此出现错误消息“ Error using error”。将您的变量名称更改为my_error
之类的名称,它应该可以正常工作。