Missing variable or function.总是有这个错误,程序为:
t=[0 0 1 1 0 1 0 0 0 1];
>>HDB3(t);
function y=HDB3(x)
p=0;
q=0;
grid=300;
t=0:1/grid:length(x);
for i=1:length(x)
if(x(i)==1)
if(p==1)
for j=1:grid
y((i-1)*grid+j)=-1;
p=-1;
q=0;
end
else
for j=1:grid
y((i-1)*grid+j)=1;
p=1;
q=0;
end
end
else
if(q==3)
if(p==1)
for j=1:grid
y((i-1)*grid+j)=1;
q=0;
end
else
for j=1:grid
y((i-1)*grid+j)=-1;
q=0;
end
end
else
for j=1:grid
y((i-1)*grid+j)=0;
q=q+1;
end
end
end
end
y=[y,y(i*grid)];
M=max(y); m=min(y);
plot(t,y); axis([0,i,m-0.1,M+0.1]);
t=[0 0 1 1 0 1 0 0 0 1];
>>HDB3_decode(t);
function y=HDB3_decode(x)
grid=300;
p=0;
t=0:1/grid:length(x);
for i=1:length(x)
if(x(i)==1)
if(p==1)
for j=1:grid
y(grid*(i-1)+j)=0;
p=0;
end
else
for j=1:grid
y(grid*(i-1)+j)=1;
p=1;
end
end
elseif(x(i)==-1)
if(p==-1)
for j=i:grid
y(grid*(i-1)+j)=0;
p=0;
end
else
for j=i:grid
y(grid*(i-1)+j)=1;
p=-1;
end
end
else
for j=i:grid
y(grid*(i-1)+j)=0;
end
end
end
y=[y,y(i*grid)];
M=max(y);
m=min(y);
plot(t,y);
axis([0,i,m-0.1,M+0.1]);
|