algorithme de moindre carré pour estimation de parametres de signal
bonjour,
je suis en train de travailler à la programmation d'un algorithme de moindre carré recursive afin d'estimer les parametres du signal.j'ai appliqué l'algorithme intégralement sous matlab.
mais il y a des erreurs qui se sont affichés concernant l'inicialisation des vecteur . voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| clear all;
close all;
fclose all;
Te=0.2;
A= eye(2)
P(0)=1000*A
Theta1(0)=0;
Thetatranspose = [0.8 , 2];
y(1)=1;
for k=1:50;
u(k)=1;
y(k+1)= - 0.8*y(k)+ 2*u(k);
Fi(k)=[y(k), u(k)];
Fi1(k)=[-y(k) , u(k)];
Theta1(k)=[a(k),b(k)];
y1(k)=Theta1(k-1)* Fi(k);
Epsilon(k)=y(k)-y1(k);
P(k)= P(k-1) - ((P(k-1)*Fi(k)*Fi1(k)*P(k-1))/(1+Fi1(k)*P(k-1)*Fi(k)));
Theta1(k)=Theta1(k-1)+P(k)*Fi(k)*Epsilon(k);
end;
t=0:Te:10;
plot(t,Theta1);
figure(1); |
s'il vous plait pouvez vous m'aider pour corriger ce code et avoir le résultat de simulation.
et merci