2011-01-01 13 views
2

私は自分のプログラム(ネット学習)でこのエラーを解決するために何ができますか?それはシムの後に表示されます。ネット。ニューラルネットワーク、matlabプログラミング

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}) 
+0

はい、私は最近、割り当てられた「パイ」を持っていない見てきたすべてのエラーのが本当にケーキを取ります。.. –

+0

自分のコードはどのように見えますか?どのようにパッケージをインストールしましたか? –

答えて

2

注:は私がやった同じ罠に陥るしないでください。そうNeural Network Toolboxに機能SIMのために検索で表示されますSimulinkSIM呼び出された関数は、私がチェックする最初の事は、2番目の入力引数A{1,1}が正しい形式であるということである

...もあります。具体的には、A{1,1}は、cell arrayまたはdoublesのマトリックスでなければなりません。 structureまたはanyotherclassのような他の形式の場合は、表示されているエラーが発生します。確かに、この特定のエラーは、サブファンクションsimargsによってうまく処理されません。それは、入力が正しいフォーマットではないという基本的な問題を実際には伝えない、いくつかの謎めいたメッセージを与えます。ここで

はチェックするカップルの事です:

  • あなたが本当に入力引数としてセル配列A最初の要素を渡すために意味するか、またはあなたは、単にセル配列自体を渡すことを意味します?

    class(A{1,1}) 
    
    :あなたはそれが機能CLASSを使用して、クラスのダブルチェック、入力引数としてAの最初の要素を渡すことを意味を行う場合

    y = sim(net,A); 
    
  • :それは第二の選択肢だ場合は、単にこれを行います

    doubleが表示されない場合は、Aの最初の要素が正しいタイプではないことを意味します。それが行列の場合、あなたはconvert it to doubleあなたはとてもようSIMにそれを渡すことができます前に:

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

私は同意します。エラーをスローするMatlabビルトイン関数であれば、それが正しく使用されていることを確認することをお勧めします。 – Jonas

+0

私はもっと助けが必要です – mohammad

+0

@モハマド:私は私の答えを更新しました。このほうがもう少し役に立つと願っています。 ;) – gnovice

関連する問題