Примечание: Не попадитесь в ту же ловушку, что и я.Существует также функция под названием 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}));