Not enough input arguments error
이전 댓글 표시
Hello Guys, could anyone help me with this error? I have this code:
function [error,variance_theoritical,variance_practical,SQNR_theoritical,SQNR_practical]= quantizer(L)
x=2*9*rand(1,10000) -9;
maximum=max(x);
minimum=min(x);
delta=(maximum-minimum)/L;
range=maximum: delta: minimum;
qc=1;
error=0;
vc=1;
for k=1:1:length(range)-1;
averageOFrange=(range(k)+range(k+1))/2
k=k+1
end
avg=averageOFrange;
for i=1:1:length(x)
z=x(i);
for j=1:1:L-1
if z>=avg(j)
Level=range(j+1);
break
elseif z<avg(j)
Level=range(j);
break
Q(qc)=Level;
qc=qc+1;
end
error=error+abs(z-Q(qc));
VP(vc)= z-Q(qc);
vc=vc+1;
end
variance_theoritical=delta*delta/12;
SQNR_theoritical=9*9/variance_theoritical;
end
variance_practical=var(VP);
SQNR_practical=9*9/variance_practical;
and when I run it, this error comes out:
Error using quantizer (line 6) Not enough input arguments.
Any help? Thanks a lot in advance
댓글 수: 1
Daniel Shub
2012년 11월 16일
Please post the entire error message and the command you type that gives the error.
답변 (1개)
Daniel Shub
2012년 11월 16일
The error is not in quantizer function, but rather in how you are calling it. In line 6 of whatever function you are calling is something like
x = quantizer;
without any inputs to quantizer.
댓글 수: 6
LOLO93
2012년 11월 16일
As Daniel pointed out, you cannot run a function that requires inputs, in this case L with out specifying it. Its giving. you an error in line 6 because it cannot find L
try calling the function like
quantizer(20) % where L=20
LOLO93
2012년 11월 16일
LOLO93
2012년 11월 16일
Walter Roberson
2012년 11월 16일
Then have another routine that prompts the user for the number and then calls your quantizer routine.
LOLO93
2012년 11월 16일
카테고리
도움말 센터 및 File Exchange에서 Data Type Identification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!