神经网络,matlab编程

神经网络,matlab编程,matlab,neural-network,Matlab,Neural Network,我能做些什么来解决我的程序(学习网络)中的这个错误?它出现在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"

我能做些什么来解决我的程序(学习网络)中的这个错误?它出现在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})
注意:不要落入与我相同的陷阱。还有一个在中调用的函数,该函数可能会在搜索中出现在

我要检查的第一件事是第二个输入参数
A{1,1}
的形式是否正确。具体地说,
A{1,1}
必须是A或的矩阵。如果它是任何其他形式的,比如a或矩阵,你会得到你看到的错误。诚然,子函数
simargs
并没有很好地处理这个特定错误,因为它提供了一些无法真正告诉您基本问题的神秘消息,即您的输入格式不正确

以下是一些需要检查的事项:

  • 您的意思是将单元格数组
    A
    的第一个元素作为输入参数传递,还是仅仅传递单元格数组本身?如果是第二种选择,只需执行以下操作:

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

    如果未显示
    double
    ,则表示
    A
    的第一个元素类型不正确。如果它是一个矩阵,在将其传递给like so之前,您可以:


是的,在我最近看到的所有没有指定“Pi”的错误中,最重要的是……您自己的代码是什么样子的?你是如何安装这个软件包的?我同意。每当Matlab内置函数抛出错误时,最好确保它被正确使用。@mohammad:我更新了我的答案。希望这本书能帮上点忙
class(A{1,1})
y = sim(net,double(A{1,1}));