Установите начальные условия блока Simulink нейронной сети
setsiminit(sysName,netName,net,xi,ai,Q)
setsiminit(sysName,netName,net,xi,ai,Q)
берет эти аргументы,
sysName | Имя системы Simulink®, содержащей блок нейронной сети |
netName | Имя блока нейронной сети Simulink |
net | Исходная нейронная сеть |
xi | Начальный вход задерживает состояния |
ai | Начальные состояния задержки слоя |
Q | Демонстрационный номер (значение по умолчанию равняется 1), |
и устанавливает начальные условия блоков нейронной сети Simulink, как задано.
Здесь сеть 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
| getsiminit
| nndata2sim
| sim2nndata