Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 为什么我得到“未定义的函数或变量此MATLAB代码中的错误?

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索引的向量

更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 21:18


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.