Получите вход начальной буквы блока нейронной сети Simulink и состояния задержек слоя
[xi,ai] = getsiminit(sysName,netName,net)
[xi,ai] = getsiminit(sysName,netName,net)
берет эти аргументы,
sysName | Имя системы Simulink®, содержащей блок нейронной сети |
netName | Имя блока нейронной сети Simulink |
net | Исходная нейронная сеть |
и возвращается,
xi | Начальный вход задерживает состояния |
ai | Начальные состояния задержки слоя |
Здесь сеть NARX спроектирована. Сеть NARX имеет стандартный вход и обратную связь разомкнутого цикла выход к связанному входу обратной связи.
[x,t] = simplenarx_dataset; net = narxnet(1:2,1:2,20); view(net) [xs,xi,ai,ts] = preparets(net,x,{},t); net = train(net,xs,ts,xi,ai); y = net(xs,xi,ai);
Теперь сеть преобразована в с обратной связью, и данные переформатированы, чтобы симулировать ответ сети с обратной связью.
net = closeloop(net); view(net) [xs,xi,ai,ts] = preparets(net,x,{},t); y = net(xs,xi,ai);
Здесь сеть преобразована в систему Simulink с портами ввода и вывода рабочей области. Его состояния задержки инициализируются, входной X1
заданный в рабочей области, и это готово быть симулированным в Simulink.
[sysName,netName] = gensim(net,'InputMode','Workspace',... 'OutputMode','WorkSpace','SolverMode','Discrete'); setsiminit(sysName,netName,net,xi,ai,1); x1 = nndata2sim(x,1,1);
Наконец начальный вход и задержки слоя получены из модели Simulink. (Они будут идентичны набору значений с setsiminit
.)
[xi,ai] = getsiminit(sysName,netName,net);
gensim
| nndata2sim
| setsiminit
| sim2nndata