нейронная сеть, программирование Matlab - PullRequest
2 голосов
/ 01 января 2011

что я могу сделать, чтобы устранить эту ошибку в моей программе (изучение сети)? появляется после сим. сеть.

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

1 Ответ

2 голосов
/ 01 января 2011

Примечание: Не попадитесь в ту же ловушку, что и я.Существует также функция под названием SIM в Simulink , которая, вероятно, будет отображаться при поиске функции SIM в Neural Network Toolbox ...

Первое, что я хотел бы проверить, это то, что второй входной аргумент A{1,1} имеет правильную форму.В частности, A{1,1} должен быть массивом ячеек или матрицей , удваивающейся .Если он имеет любую другую форму, такую ​​как структура или матрица any other class , вы получите ошибкувидя.Следует признать, что эта конкретная ошибка не очень хорошо обрабатывается подфункцией simargs, так как она дает вам некоторые загадочные сообщения, которые на самом деле не сообщают вам основную проблему, заключающуюся в том, что ваш ввод не в правильном формате.

Вот пара вещей, которые нужно проверить:

  • Вы действительно хотите передать первый элемент массива ячеек A в качестве входного аргумента, или вы хотите просто передать сам массив ячеек?Если это второй вариант, просто сделайте это:

    y = sim(net,A);
    
  • Если вы do хотите передать первый элемент A в качестве входного аргумента, дважды-проверьте его класс с помощью функции CLASS :

    class(A{1,1})
    

    Если вы не видите double, это означает, что первый элемент A неправильного типа.Если это матрица, вы можете преобразовать ее в удвоенную , прежде чем передать ее в SIM следующим образом:

    y = sim(net,double(A{1,1}));
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...