⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 disteusq.m

📁 patten regnization source从1-14章能运行
💻 M
字号:
function d=disteusq(x,y,mode,w)
% DISTEUSQ 蜡努府叼救, 磊铰 蜡努府叼救 趣篮 付窍唱畴厚胶 芭府甫 拌魂茄促. D=(X,Y,MODE,W)
%
% 涝仿 牢磊: 
%  X,Y    厚背瞪 氦磐笼钦. 阿 凯捞 单捞磐 氦磐肺 登绢 乐促. 
%         X客 Y绰 鞍篮 荐狼 青阑 啊柳促.  
%
%  MODE   可记 荤亲 急琶 巩磊凯:
%         'x' 葛电 X客 Y狼 凯俊辑 傈眉 芭府 青纺 拌魂. 
%         'd' 包访等 X客 Y狼 凯埃狼 芭府父 拌魂. 
%             父距 X客 Y啊 鞍篮 凯狼 荐甫 啊瘤搁 叼弃飘肺 'd'捞绊 弊犯瘤 臼栏搁 'x'.
%         's' 蜡努府叼救 芭府 搬苞狼 磊铰辟阑 秒茄促. 
%
%  W      可记 啊吝摹 青纺: 拌魂等 芭府绰 (x-y)*W*(x-y)'
%         父距 W啊 氦磐捞搁 青纺 diag(W)啊 荤侩等促. 
%           
% 免仿 牢磊: 
%  D      父距 MODE='d'捞搁 D绰 X客 Y焊促 累篮 鞍篮 荐狼 凯阑 啊柳 青 氦磐捞促. 
%         父开 MODE='x'捞搁 D绰 X客 鞍篮 荐狼 凯苞 Y'客 鞍篮 荐狼 青阑 啊柳 青纺捞促. 
%
%   VOICEBOX 傍俺家胶 荐沥
%   VOICEBOX home page: http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html
%
[nx,p]=size(x); ny=size(y,1);
if nargin<3 | isempty(mode) mode='0'; end
if any(mode=='d') | (mode~='x' & nx==ny)
   nx=min(nx,ny);
   z=x(1:nx,:)-y(1:nx,:);
   if nargin<4
      d=sum(z.*conj(z),2);
   elseif min(size(w))==1
      wv=w(:).';
      d=sum(z.*wv(ones(size(z,1),1),:).*conj(z),2);
   else
      d=sum(z*w.*conj(z),2);
   end
else
   if p>1
      if nargin<4
         z=permute(x(:,:,ones(1,ny)),[1 3 2])-permute(y(:,:,ones(1,nx)),[3 1 2]);
         d=sum(z.*conj(z),3);
      else
         nxy=nx*ny;
         z=reshape(permute(x(:,:,ones(1,ny)),[1 3 2])-permute(y(:,:,ones(1,nx)),[3 1 2]),nxy,p);
         if min(size(w))==1
            wv=w(:).';
            d=reshape(sum(z.*wv(ones(nxy,1),:).*conj(z),2),nx,ny);
         else
            d=reshape(sum(z*w.*conj(z),2),nx,ny);
         end
      end
   else
      z=x(:,ones(1,ny))-y(:,ones(1,nx)).';
      if nargin<4
         d=z.*conj(z);
      else
         d=w*z.*conj(z);
      end
   end
end
if any(mode=='s')
   d=sqrt(d);
end

⌨️ 快捷键说明

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