nospecial
2008-07-02, 09:59
请高手帮我看下这是怎么回事!!
clear all;
X1=1;X2=0;X3=1;X4=0;X5=1;X6=0; %移位寄存器输入Xi初T态(010101), Yi为移位寄存器各级输出
M=300; %置M序列总长度
for i=1:M
Y6=X6;Y5=X5;Y4=X4;Y3=X3;Y2=X2;Y1=X1;
X6=Y5;X5=Y4; X4=Y3;X3=Y2;X2=Y1;
X1=xor(Y3,Y4); %异或运算
if Y6==0
u(i)=-1;
else
u(i)=Y6;
end
end
z=zeros(1,M);
for k=4:M
z(k)=1.5*z(k-1)-0.9*z(k-2)+0.3*z(k-3)+2*u(k-1)+1.5*u(k-2)+0.7*u(k-3);
end
N=2;
[HL2,ZL2]=cf(M,N,z,u);
[C2,AIC(2)]=fv(HL2,ZL2,N);
if AIC(2)<aic
aic=AIC(2);C=C2;n=2;
end
报下面的错:
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> fv at 4
c3=HL'*ZL;
我的fv:
function [C1,AIC]= fv(HL,ZL,n)
c1=HL'*HL;
c2=inv(c1);
c3=HL'*ZL;
C1=c2*c3
m=ZL-HL*C1;
h=m';
dk=1/300*h*m;
AIC=300*log(dk)+4*n;
我的cf:
function[HL,ZL]=cf(M,N,z,u)
for n=1:N
for k=(N+1):M
HL(k-N,n)=-z(k-n);
end
end
for n=1:N
for k=(N+1):M
HL(k-N,n+N)=u(k-n);
end
end
for k = (N+1):M
ZL(k-1,:) = z(k);
end
:cry:
clear all;
X1=1;X2=0;X3=1;X4=0;X5=1;X6=0; %移位寄存器输入Xi初T态(010101), Yi为移位寄存器各级输出
M=300; %置M序列总长度
for i=1:M
Y6=X6;Y5=X5;Y4=X4;Y3=X3;Y2=X2;Y1=X1;
X6=Y5;X5=Y4; X4=Y3;X3=Y2;X2=Y1;
X1=xor(Y3,Y4); %异或运算
if Y6==0
u(i)=-1;
else
u(i)=Y6;
end
end
z=zeros(1,M);
for k=4:M
z(k)=1.5*z(k-1)-0.9*z(k-2)+0.3*z(k-3)+2*u(k-1)+1.5*u(k-2)+0.7*u(k-3);
end
N=2;
[HL2,ZL2]=cf(M,N,z,u);
[C2,AIC(2)]=fv(HL2,ZL2,N);
if AIC(2)<aic
aic=AIC(2);C=C2;n=2;
end
报下面的错:
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> fv at 4
c3=HL'*ZL;
我的fv:
function [C1,AIC]= fv(HL,ZL,n)
c1=HL'*HL;
c2=inv(c1);
c3=HL'*ZL;
C1=c2*c3
m=ZL-HL*C1;
h=m';
dk=1/300*h*m;
AIC=300*log(dk)+4*n;
我的cf:
function[HL,ZL]=cf(M,N,z,u)
for n=1:N
for k=(N+1):M
HL(k-N,n)=-z(k-n);
end
end
for n=1:N
for k=(N+1):M
HL(k-N,n+N)=u(k-n);
end
end
for k = (N+1):M
ZL(k-1,:) = z(k);
end
:cry: