Probleme algorithme des moindres sous matlab
zmeryem
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Mouhamed Aoun -
Mouhamed Aoun -
Bonjour,
svp j'ai ecris un programme sous matlab (qui concerne traitement de signal ) et lors de compilation il m'indique tout le temps une erreur sur qui concerne la boucle for.
En fait, il s'agit de programmer sous matlab l'algorithme des moindres carrés récursifs :
voici le programme :
N= 500; h=[1 -2.5 1]; RSB=10; L=length(h)-1; delta =10^(-9);
x=randn(1,N); x=x-mean(x);
b=randn(1,N); b=b-mean(b);
b=(b/std(b))*sqrt(var(x)*10^(RSB/10));
y=filter(h,1,x)+b;
%iinitialisation des parametres de l'algorithme
Q=eye(L+1)/delta; h1=zeros(L+1,1);
for i=1:N-L // probleme
xn(:)=x(i+L:-1:i);
Qx=Q*xn;
Kn=Qx/(1+xn'*Qx); h1=h&+Kn*(y(i+L)-xn*h1');
Q=Q-Kn*(xn'*Q);
e(:,i)=h1-h;
end
merci
svp j'ai ecris un programme sous matlab (qui concerne traitement de signal ) et lors de compilation il m'indique tout le temps une erreur sur qui concerne la boucle for.
En fait, il s'agit de programmer sous matlab l'algorithme des moindres carrés récursifs :
voici le programme :
N= 500; h=[1 -2.5 1]; RSB=10; L=length(h)-1; delta =10^(-9);
x=randn(1,N); x=x-mean(x);
b=randn(1,N); b=b-mean(b);
b=(b/std(b))*sqrt(var(x)*10^(RSB/10));
y=filter(h,1,x)+b;
%iinitialisation des parametres de l'algorithme
Q=eye(L+1)/delta; h1=zeros(L+1,1);
for i=1:N-L // probleme
xn(:)=x(i+L:-1:i);
Qx=Q*xn;
Kn=Qx/(1+xn'*Qx); h1=h&+Kn*(y(i+L)-xn*h1');
Q=Q-Kn*(xn'*Q);
e(:,i)=h1-h;
end
merci
A voir également:
- Probleme algorithme des moindres sous matlab
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Algorithme euromillion excel gratuit - Forum Algorithmes / Méthodes
- Algorithme ajout rapide snapchat - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
4 réponses
bonsoir,
déjà ne fait pas
// probleme
mais % probleme
sinon, peut-être le N-L
utilise une variable temporaire juste avant, par exemple temp
déjà ne fait pas
// probleme
mais % probleme
sinon, peut-être le N-L
utilise une variable temporaire juste avant, par exemple temp
temp=N-L; for i=1:temp
Mouhamed Aoun
c pa logik , il faut bien reviser le cour de l'AIP ! merci MR Dhawi
essaie ça:
N= 500;
h=[1 -2.5 1];
RSB=10;
L=length(h)-1;
delta =10^(-9);
x=randn(1,N);
x=x-mean(x);
b=randn(1,N);
b=b-mean(b);
b=(b/std(b))*sqrt(var(x)*10^(RSB/10));
y=filter(h,1,x)+b;
%iinitialisation des parametres de l'algorithme
Q=eye(L+1)/delta; h1=zeros(L+1,1);
for i=1:N-L %probleme
xn= x(i+L:-1:i);
Qx = Q * xn';
Kn= Qx /(1 + xn*Qx);
h1 = h'+ Kn* y(i+L)-xn*h1;
Q = Q-Kn*(xn*Q);
e(:,i)=h1'-h;
end
N= 500;
h=[1 -2.5 1];
RSB=10;
L=length(h)-1;
delta =10^(-9);
x=randn(1,N);
x=x-mean(x);
b=randn(1,N);
b=b-mean(b);
b=(b/std(b))*sqrt(var(x)*10^(RSB/10));
y=filter(h,1,x)+b;
%iinitialisation des parametres de l'algorithme
Q=eye(L+1)/delta; h1=zeros(L+1,1);
for i=1:N-L %probleme
xn= x(i+L:-1:i);
Qx = Q * xn';
Kn= Qx /(1 + xn*Qx);
h1 = h'+ Kn* y(i+L)-xn*h1;
Q = Q-Kn*(xn*Q);
e(:,i)=h1'-h;
end