Not enough input arguments error
1 view (last 30 days)
Show older comments
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 Comment
Daniel Shub
on 16 Nov 2012
Please post the entire error message and the command you type that gives the error.
Answers (1)
Daniel Shub
on 16 Nov 2012
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 Comments
Walter Roberson
on 16 Nov 2012
Then have another routine that prompts the user for the number and then calls your quantizer routine.
See Also
Categories
Find more on Cast and Quantize Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!