📄 uq_dist.m
字号:
function[y,dist]=uq_dist(funfcn,b,c,n,delta,s,tol,p1,p2,p3)
%UQ_DIST 返回均匀量化器的失真,量化点设在质心.
% [Y,DIST]=UQ_DIST(FUNFCN,B,C,N,DELTA,S,TOL,P1,P2,P3)
% funfcn=在m_file中给出的信源密度函数,
%最多有三个参数:p1,p2,p3.
%[b,c]=信源密度函数的定义域.
%n=级数的数目.
%delta=级数的大小
%s=最左边的量化区域边界
%p1,p2,p3=输入函数的参数
%y=量化级数.
%dist=失真.
%tol=相对误差
if(c-b<delta*(n-2))
error('Too many levels for this range.');return
end
if(s<b)
error('the leftmost bountary too large.');return
end
if(s+(n-2)*delta>c)
error('the leftmost bountary too large.');return
end
args=[];
for j=1:nargin-7
args=[args,',p',int2str(j)];%args=[ ,p1,p2]
end
args=[args,')'];%args=[ ,p1,p2)]
a(1)=b;
for i=2:n
a(i)=s+(i-2)*delta;
end
a(n+1)=c;
% [y,dist]=mse_dist(funfcn,a,tol,p1,p2)
[y,dist]=eval(['mse_dist(funfcn,a,tol',args])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -