![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
net.trainParam.goal = 0.001;
net.trainParam.epochs = 1000;
net = train(net, Pseq, Tseq);
Y = sim(net, Pseq)
Y1 = seq2con(Y);
E = round(T – Y1{1}) % – нулевые ошибки.
Задание 2. Создать сеть Элмана для детектирования амплитуды гармонического сигнала, выполнив следующие действия:
1. Создать выборки из двух синусоид с амплитудами 1.0 и 2.0:
p1 = sin(1: 20);
p2 = sin(1: 20) * 2;
2. Сформировать целевые векторы:
t1 = ones(1, 20);
t2 = ones(1, 20) * 2.
3. Сформировать набор векторов входа и целей:
p = [p1 p2 p1 p2];
t = [t1 t2 t1 t1].
4. Сформировать обучающие последовательности:
Pseq = con2seq(p); % – массив ячеек;
Tseq = con2seq(t); % – массив ячеек;
5. Создать сеть Элмана:
net = newelm([ -2 2], [10, 1], …
{′tansig′, ′purelin′}, …
′traingdx′)
net.layers{1}, net.IW{1, 1}, net.LW{1, 1}
net.layers{2}, net.LW{2, 1}.
6. Обучить сеть:
net.trainParam.epochs = 1000;
net.trainParam.show = 25;
net.trainParam.goal = 0.01;
[net, tr] = train(net, Pseq, Tseq);
net.IW{1, 1}, net.LW{1, 1}, net.LW{2, 1}.
7. Проверить сеть на обучающей последовательности:
Figure(2)
a = sim(net, Pseq);
time = 1: length(p);
plot(time, t, ′- -′, time, cat(2, a {:}))
axis( [ 1 80 0.8 2.2 ] ).
8. Проверить сеть на произвольной последовательности:
p3 = sin(1: 20) * 1.6;
t3 = ones(1, 20) * 1.6;
p4 = sin(1: 20) * 1.2;
t4 = ones(1, 20) * 1.2;
p9 = [p3 p4 p3 p4];
t9 = [t3 t4 t3 t4];
pgseq = con2seq(pg);
Figure(3);
a = sim(met, pgseq);
time = 1: length(pg);
time = 1: length(pg);
plot(time, tg, ‘- -’, time, cat(2, a{: }))
axis([1 80 0.8 2.2]).
9. Обучить и проверить сеть для четырех гармонических сигналов.
Лабораторная работа № 15
Дата публикования: 2015-10-09; Прочитано: 330 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!