load X_Q2.data load T_Q2.data x = X_Q2(:,1); y = X_Q2(:,2); learningrate = 0.2; max_iteration = 50; % initialize parameters count = length(x); weights = rand(1,3); % creates a 1-by-3 array with random weights globalerror = 0; iter = 0; while globalerror ~= 0 && iter = 0 result = 1; else result = -1; end 什么都没出来。我在命令窗口中输出了代码,然后按Enter...。我如何获得输出?
回答:
您不能在while循环的条件检查中使用变量globalerror ,因为您直到
在循环
内才将变量定义为任何变量。这就是为什么出现错误“未定义的函数或变量'globalerror'”的原因。您必须将globalerror初始化为某个值,
然后再尝试在任何语句中使用它。
另外,正如我在
回答上一个问题时提到
的那样 ,您不能在脚本中声明函数。尝试从上面的脚本中剪切出函数calculateOutput ,并将其放置在名为自己的文件calculateOutput.m ,然后将其保存在
MATLAB路径中的某个位置。
还有一些其他问题:
- MATLAB使用基于1的索引,而不使用基于0的索引。换句话说,向量的第一个元素或矩阵维度的索引值为1,而不是0。
- 我不知道您要使用此行做什么:
localerror = output(p) - output 由于变量output是代码中的标量 ,而不是可以由p索引的向量 。
更多&回答...