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:
s'il vous plait pouvez vous m'aider pour corriger ce code et avoir le résultat de simulation.
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);
et merci
Partager