Académique Documents
Professionnel Documents
Culture Documents
for k = 1:100
x(1,k) = u(k);
x(2,k) = yd(k);
1
end
n1 = 3;
v = rand(1,n1);
b2 = zeros(1,1);
w = rand(n1,2)/10;
b1 = zeros(n1,1);
taux = 0.09;
i = 1;
for k = 1:100
%for i = 1:10 %
h = logsig(w*x(:,k) + b1);
y(k) = purelin(v*h + b2);
e(k) = yd(k) - y(k);
delta2 = e(k);
v = v + taux*delta2*h';
b2 = b2 + taux*delta2;
delta1 = ((1 - h).*h).*(v'*delta2);
w = w + taux*delta1*x(:,k)';
b1 = b1 + taux*delta1;
end
plot(yd,'k') , hold on
plot(y,'r')
xlabel('temps')
ylabel(' yd et y')
h = legend(' yd: la sortie du système','y: la sortie du modèleneuronale');
%modélisationneuronale d'un système SISO
clearall;closeall ; clc;
for k = 1:100
u(k) = sin(2*pi*k/25) + sin(2*pi*k/50);
end
yd(1) = 1;
for k = 1:100
yd(k+1) = yd(k)/(1 + yd(k)^2) + u(k);
end
for k = 1:100
x(1,k) = u(k);
x(2,k) = yd(k);
end
net = newff(minmax(x),[4 1],{'logsig','purelin'},'traingd');
net.trainParam.goal = 0.001;
net.trainParam.epochs = 1000;
net = train(net,x,yd(1:100));
y = sim(net,x);
plot(yd,'k') , hold on
plot(y,'r')
xlabel('temps')
ylabel(' yd et y')
h = legend(' yd: la sortie du système','y: la sortie du modèleneuronale');
1
Résultat :
L'erreur: