203
RefArmNet.trainParam.mu_max=1e50;
RefArmNet=train(RefArmNet, Parm', Tarm');
Yarm=sim(RefArmNet,Parm');
hold off
plot(0:0.01:100,Tarm','r');
hold on
plot(0:0.01:100,Yarm,'b');
hold off
%
%-- Обучение нейронной модели регулятора:
%
RefArmNet.layerWeights{1,1}.learn=1;
RefArmNet.layerWeights{2,1}.learn=1;
RefArmNet.layerWeights{3,2}.learn=0;
RefArmNet.layerWeights{4,3}.learn=0;
RefArmNet.trainParam.epochs=300;
RefArmNet.trainParam.goal=1e-5;
RefArmNet.trainParam.min_grad=1e-45;
RefArmNet.trainParam.mu_max=1e50;
RefArmNet=train(RefArmNet, Preg', Treg');
Yreg=sim(RefArmNet,Preg');
hold off
plot(0:0.01:100,Treg','r');
hold on
plot(0:0.01:100,Yreg,'b');
10.5 Варианты заданий и порядок выполнения работы
Варианты объектов управления и эталонных моделей следует выбирать по
табл. 4.2 лабораторной работы №4 или использовать звенья, которые
исследовались в лабораторных работах №5, 6, 7 и 8. Для выбранного варианта
необходимо построить имитационные модели и сохранить их в своей рабочей
папке. Обе модели должны быть снабжены портами входа и выхода (см. блоки In1
и Out1 библиотеки Ports&Subsystems).
Далее
необходимо исследовать динамику объекта управления и эталонной
модели при изменении их параметров, зафиксировать несколько таких наборов,
как для объекта, так и для модели и сгенерировать для них отчеты.
С помощью инструментальных средств системы MATLAB произвести
идентификацию объекта robotarm и синтез нейрорегулятора для эталонной
модели robotref, задавая различные алгоритмы обучения и варьируя объем
обучающего
множества. Затем выполнить эти действия, поменяв роли моделей и
сделав robotref объектом управления, а robotarm – эталонной моделью. Для
выбранных вариантов объектов и для ряда эталонных моделей синтезировать
нейрорегуляторы и сохранить данные для отчета. Осциллограммы обучения и
синтеза также вставить в отчет.