mse_dist.m

来自「Matlab的centroid.m、mse_dist.m、uq_dist.m文件」· M 代码 · 共 26 行

M
26
字号
function[y,dist]=mse_dist(funfcn,a,tol,p1,p2,p3)
%MSE_DIST 返回均方量化误差.
%  [Y,DIST]=mse_dist(funfcn,a,tol,p1,p2,p3)
%  funcfcn=在一个m_file中给定的分布函数.
%它最多由三个参数决定:p1,p2,p3.
%a=定义了量化区域 的边界的向量.
%(注意:[a(1),a(length(a))]是funfcn的定义域)
%p1,p2,p3,是funfcn的参数.
%tol=相对误差.
 
args=[];
for n=1:nargin-3
     args=[args,',p',int2str(n)];
 end
 args=[args,')'];%args=[ ,p1,p2)]
 for i=1:length(a)-1%对给定的边界求量化级数(质心)
     y(i)=eval(['centroid(funfcn,a(i),a(i+1),tol',args]);
     %centroid(funfcn,a(i),a(i+1),tol ,p,funfcn,a,tol,)%此行错误
 end
 dist=0; 
 for i=1:length(a)-1%求量化信噪比
 newfun='varnormal';                                                                          
name=['varnormal(x,',num2str(p1),',',num2str(p2),',',num2str(y(i)),')'];
dist=dist+quad(name,a(i),a(i+1),tol);                                                                           
 end
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?