loop while for where
2 views (last 30 days)
Show older comments
i have this code but i do not knew how to run it
function y=quantr(b,x) delta=2./(2.^b); s=zeros(1,2^b); s(1)=-1+delta/2; for n=2:(2^b) s(n)=s(n-1)+delta; end y=zeros(size(x)); for k=1:length(x) p=1; while (abs(x(k)-s(p))>0.5*delta) p=p+1; end y(k)=s(p); end end
-----------------
x=-1:0.001:1; y=quantr(4,x); plot(x,y) xlabel('input'); ylabel('quantized output');
Accepted Answer
madhan ravi
on 23 Oct 2018
Edited: madhan ravi
on 23 Oct 2018
x=-1:0.001:1; %script file
y=quantr(4,x);
plot(x,y)
xlabel('input');
ylabel('quantized output');
function y=quantr(b,x) %function file
delta=2./(2.^b);
s=zeros(1,2^b);
s(1)=-1+delta/2;
for n=2:(2^b)
s(n)=s(n-1)+delta;
end
y=zeros(size(x));
for k=1:length(x)
p=1;
while (abs(x(k)-s(p))>0.5*delta)
p=p+1;
end
y(k)=s(p);
end
end
20 Comments
madhan ravi
on 23 Oct 2018
Edited: madhan ravi
on 23 Oct 2018
Anytime :) accept the answer so that other people know the question is solved
More Answers (1)
See Also
Categories
Find more on Earth and Planetary Science in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!