Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-14, 20:38   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 神经网络,matlab编程

我该如何解决我的程序中的此错误(学习网络)?它出现在sim之后。互联网。

Error in ==> network.sim>simargs at 236 switch class(P) ??? Output argument "Pi" (and maybe others) not assigned during call to "C:\Program Files\MATLAB\R2008b\toolbox\nnet\nnet\@network\sim.m>simargs". Error in ==> network.sim at 173 case 2, [err,X,Xi,Ai,T,Q,TS,matrixForm] = simargs(net,X); Error in ==> mlptrptest at 62 y = sim(net,A{1,1})

回答:

注意:不要陷入与我相同的陷阱。 Simulink中还有一个名为SIM的功能,可能会在神经网络工具箱中搜索功能SIM时显示。

我要检查的第一件事是第二个输入参数A{1,1}的格式正确。具体来说, A{1,1}必须是单元格数组double的矩阵。如果它采用任何其他形式,例如任何 其他 结构或矩阵,您将收到所看到的错误。诚然,子函数simargs不能很好地处理此特定错误,因为它会为您提供一些无法真正告诉您基本问题的隐秘消息,即您的输入格式不正确。

这里有几件事要检查:
  • 您是真的要传递单元格数组A的第一个元素作为输入参数,还是要简单地传递单元格数组本身?如果是第二个选项,请执行以下操作:

    y = sim(net,A);
  • 如果确实要传递A的第一个元素作为输入参数,请使用CLASS函数仔细检查它的类:

    class(A{1,1}) 如果没有看到double显示,则表示A的第一个元素不是正确的类型。如果是矩阵,则可以将其转换为double,然后再将其传递给SIM,如下所示:

    y = sim(net,double(A{1,1}));

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

主题工具
显示模式

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

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



所有时间均为北京时间。现在的时间是 04:57


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