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 : Sélectionner tout - Visualiser dans une fenêtre à part
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