TP3
MC_NR
clc; clear all ;close all ;
load y
load u
load t
figure(1);
plot(t,u,'b',t,y,'r');grid ;
xlabel('temps(x)');ylabel('commande en % température en °C');
title('trajectoire entrée/sortie ');
legend('signal de commande u','signal de sortie y');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
theta_e = mcnr_exp( u,y )
mcnr_exp
function [ theta_e] = mcnr_exp( u,y )
% constrution de la matrice d'observation hn
for k=2:length(u)
hn(k,:)=[-y(k-1) u(k-1)];
end
% algorithnme mcnr
theta_e=inv(hn'*hn)*hn'*y;
MC-R
clc;clear all;close all;
load y
load u
load t
figure(1);
plot(t,u,'b',t,y,'r');
grid; xlabel('temps(s)');
ylabel('commande en % température en C');
title('trajectoire entrée/sortie');
theta_e=[0 0]'; p=1000*eye(size(theta_e,1));
y_e(1)=y(1);theta_i=theta_e;p0=p;
% esttimation de parametres
[theta_e,theta_ef,e,trp,y_e]=mcr_exp(u,y,theta_e,p,y_e);
%visualisation
theta_ef(:,1)=theta_i;trp(1)=trace(p0);
figure(3);plot(theta_ef(1,:),'b');
hold on
plot(theta_ef(2,:),'r');
grid;xlabel('Iteration');legend('a_e','b_e');title('Evolutions des parametres
estimes');
figure(4);plot(e);grid;xlabel('Iterations');title('Evolution de l"erreur de
preduction');
figure(5);plot(trp);grid;xlabel('');title('Evolution de la trace de la matrice du gain
de correction');
figure(6);plot(y,'b');
hold on;
plot(y_e,'g');grid;xlabel('');legend('umes bruitée','umes non bruitée','umes
estime');title('Evolution sortie bruitée , sortie no bruitée et sortie estime');
mcr_exp
function [theta_e,theta_ef,e,trp,y_e]=mcr(u,y,theta_e,p,y_e)
for k=2:length(u)
H=[-y(k-1) u(k-1)];%matrice d'observation
p=p-(p*H'*H*p)/(1+(H*p*H')); %mise a jour du gain d'adaptation
theta_e = theta_e+ (p*H'*(y(k)-H*theta_e)); % MISE A JOUR DES PARAMETRES ESTIMES
theta_ef(:,k) = theta_e; %evolution des parametres estimes
e(k-1)= y(k)-H*theta_e ; %EVOLUTION D'ERREUR estimee
trp(k) = trace(p) ;
y_e(k) = -theta_e(1)*y_e(k-1) + theta_e(2) * u(k-1) ;
end
end
Figure1 : comportement second au moins : point d’inflexion
Décalage entre la sortie reelle et la sortie estimée : erreur de modelisation(point d’inflexion
+ tangente horizontale à l’origine)
Figure3 : aucune perte d’identification
Figure4 :
Figure5 :
Figure6 :convrgence assurée mais vers theta totalement diff de thata desiré
Donc erreur de modelisation