暗香浮动 发表于 2008-5-21 14:57

高手帮我看看这个程序错在哪里?怎么改

clear
clc
M=3;L=12;yz=0.01;yu=0.90;dB=25;
H0=';
% syms k p i;
power1=0.5;N=5000;
y1=zeros(1,N-99);
u=rand(1,N);
a1=sqrt(12*power1);
u1=a1*u;
SNR=dB;
power2=power1/(10.^(SNR/20));
noise1=sqrt(power2)*randn(1,N);
u=u1+noise1;
for k=100:N
    y(k)=*';
    X(:,k)=';
end
power_y=var(y);
power3=power_y/(10.^(SNR/20));
noise2=sqrt(power3).*randn(1,N);
y=y+noise2;
P0=eye(L,L);
P100=';R100=inv(P100'*P100);Y=;
for k=100
    Pk=P100;Yk=Y;
end
for k=100:N-1
    count=0;
    for j=1:L
      if abs(X(j,k+1)-X(j,k))<yz
            count=count+1;j=j+1;
      else j=j+1;
      end
    end
    if count/L<yu      
      Xp=X(:,k);Xc=Pk(1:L-1,:);Xl=Pk(L,:); Yc=Yk(:,1:L-1);      
      Rk=inv(Pk'*Pk);
      Sk=Rk-Rk*Xp*Xp'*Rk/(1+Xp'*Rk*Xp);
      k=k+1;
      Xp=X(:,k);Yp=y(k);Pk=';Yk=;   
      Rk=Sk+Sk*Xl'*Xl*Sk/(1-Xl*Sk*Xl');
      Hk=*Pk'*Yk';            
    else
      k=k+1;
    end   
    H(:,k)=Hk;
    e(k)=20*log10((norm(H0-H(:,k)))^2);
end
plot(e(100:600),'r');grid on
plot(H(1,100:600),'c');grid on
plot(H(2,100:600));grid on
plot(H(3,100:600));grid on

sigma665 发表于 2008-5-21 15:44

回复 楼主 的帖子

错误提示

暗香浮动 发表于 2008-5-21 15:48

我看到错误提示了,只是不知道怎么改,或者说循环不能进行下去,我不知道怎么让循环进行,大侠帮帮忙

ch_j1985 发表于 2008-5-21 15:48

原帖由 暗香浮动 于 2008-5-21 14:57 发表 http://www.chinavib.com/forum/images/common/back.gif
clear
clc
M=3;L=12;yz=0.01;yu=0.90;dB=25;
H0=';
% syms k p i;
power1=0.5;N=5000;
y1=zeros(1,N-99);
u=rand(1,N);
a1=sqrt(12*power1);
u1=a1*u;
...

请把程序报的错说一下,顺便介绍一下背景知识,OK?
否则,大家很难帮你

sigma665 发表于 2008-5-21 16:54

原帖由 暗香浮动 于 2008-5-21 15:48 发表 http://www.chinavib.com/forum/images/common/back.gif
我看到错误提示了,只是不知道怎么改,或者说循环不能进行下去,我不知道怎么让循环进行,大侠帮帮忙

我是想说把错误贴上来

wwbeyondww 发表于 2008-5-21 17:49

回复 5楼 的帖子

没有调用自编函数,整个拷贝运行下就能看到错误提示了
页: [1]
查看完整版本: 高手帮我看看这个程序错在哪里?怎么改