亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dists.m

?? 物流分析工具包。Facility location: Continuous minisum facility location, alternate location-allocation (ALA)
?? M
字號:
function D = dists(X1,X2,p,e)
%DISTS Metric distances between vectors of points.
%     D = dists(X1,X2,p,e)
%    X1 = n x d matrix of n d-dimensional points
%    X2 = m x d matrix of m d-dimensional points
%     D = n x m matrix of distances
%     p = 2, Euclidean (default): D(i,j) = sqrt(sum((X1(i,:) - X2(j,:))^2))
%       = 1, rectilinear: D(i,j) = sum(abs(X1(i,:) - X2(j,:))
%       = Inf, Chebychev dist: D(i,j) = max(abs(X1(i,:) - X2(j,:))
%       = (1 Inf), lp norm: D(i,j) = sum(abs(X1(i,:) - X2(j,:))^p)^(1/p)
%       = 'rad', great circle distance in radians of a sphere
%         (where X1 and X2 are decimal degree longitudes and latitudes)  
%       = 'mi' or 'sm', great circle distance in statute miles on the earth
%       = 'km', great circle distance in kilometers on the earth
%     e = epsilon for hyperboloid approximation gradient estimation
%       = 0 (default); no error checking if any non-empty 'e' input
%      ~= 0 => general lp used for rect., Cheb., and p outside [1,2]
%
% Examples:
% x1 = [1 1], x2 = [2 3]
% d = dists(x1,x2,1)       %  d = 3
%
% X2 = [0 0;2 0;2 3]
% d = dists(x1,X2,1)       %  d = 2  2  3
%
% D = dists(X2,X2,1)       %  D = 0  2  5
%                          %      2  0  3
%                          %      5  3  0
%
% d=dists(city2lonlat('Raleigh','NC'),city2lonlat('Gainesville','FL'),'mi')
%
%                          %  d = 475.8047
%
% Great circle distances are calculated using the Haversine Formula (R.W.
% Sinnott, "Virtues of the Haversine", Sky and Telescope, vol 68, no 2,
% 1984, p 159, reported in "http://www.census.gov/cgi-bin/geo/gisfaq?Q5.1")

% Copyright (c) 1994-2006 by Michael G. Kay
% Matlog Version 9 13-Jan-2006 (http://www.ie.ncsu.edu/kay/matlog)

% Input Error Checking ****************************************************

if isempty(X1) || isempty(X2), D = []; return, end

nd = size(X1); n = nd(1); d = nd(2);   % In case X not 2-D matrix
m = size(X2,1);
if nargin < 3 || isempty(p), p = 2; end
if nargin < 4 || isempty(e), e = 0; end

if nargin < 4  % Only do error checking if e not input
   error(nargchk(2,4,nargin));
   
   if isempty(X1) || ~isnumeric(X1) || ndims(X1) ~= 2
      error('X1 must be non-empty numeric 2-D matrix.');
   elseif ~isnumeric(X2) || ndims(X1) ~= 2
      error('X2 must be non-empty numeric 2-D matrix.');
   elseif size(X2,2) ~= d
      error('Rows of X1 and X2 must have same dimensions.');
   elseif ischar(p)
      p = lower(p);
      if d ~= 2
         error('Points must be 2-dimensional for great-circle distances.');
      elseif ~any(strcmp(p,{'rad','mi','sm','km'}))
         error('"p" must be either "rad," "mi," "sm," or "km".');
      end
   elseif ~ischar(p) && (length(p(:)) ~= 1 || ~isnumeric(p))
      error('"p" must be a scalar number.');
   end
end
% End (Input Error Checking) **********************************************

% Interchange if X2 is the only 1 point
intrchg = 0;
if n > 1 && m == 1
   tmp = X2; X2 = X1; X1 = tmp;
   m = n;n = 1;
   intrchg = 1;
end

% 1-dimensional points
if d == 1
   if e == 0
      if m ~= 0
         D = abs(X1(:,ones(1,m)) - X2(:,ones(1,n))');
      else
         D = abs(X1(1:n-1) - X1(2:n))';	% X1 intra-seq. dist.
      end
   else
      if m ~= 0
         D = sqrt((X1(:,ones(1,m)) - X2(:,ones(1,n))').^2 + e);
      else
         D = sqrt((X1(1:n-1) - X1(2:n)).^2 + e)';
      end
   end
   
   % X1 only 1 point   
elseif n == 1
   X1 = X1(ones(1,m),:);      % Expand X1 to match X2
   n = m;
   if p == 2                  % Euclidean distance
      D = sqrt(sum(((X1 - X2).^2 + e)'));
   elseif ischar(p)           % Great-circle distance
      X1 = pi*X1/180;X2 = pi*X2/180;
      D = 2*asin(min(1,sqrt(sin((X1(:,2) - X2(:,2))/2).^2 + ...
         cos(X1(:,2)).*cos(X2(:,2)).* ...
         sin((X1(:,1) - X2(:,1))/2).^2)))';
   elseif p == 1 && e == 0     % Rectilinear distance
      D = sum(abs(X1 - X2)');
   elseif (p >= 1 && p <= 2) || (e ~= 0 && p > 0) % General lp distance
      D = sum((((X1 - X2).^2 + e).^(p/2))').^(1/p);
   elseif p == Inf && e == 0   % Chebychev distance
      D = max(abs(X1 - X2)');
   else                       % Otherwise
      D = zeros(1,n);
      for j = 1:n
         D(j) = norm(X1(j,:) - X2(j,:),p);
      end
   end
   
   % X1 and X2 are 2-dimensional points   
elseif d == 2
   if p == 2                  % Euclidean distance
      D = sqrt((X1(:,ones(1,m)) - X2(:,ones(1,n))').^2 + e + ...
         (X1(:,2*ones(1,m)) - X2(:,2*ones(1,n))').^2 + e);
   elseif ischar(p)           % Great-circle distance
      X1 = pi*X1/180;X2 = pi*X2/180;
      cosX1lat = cos(X1(:,2));cosX2lat = cos(X2(:,2));
      D = 2*asin(min(1,sqrt(...
         sin((X1(:,2*ones(1,m)) - X2(:,2*ones(1,n))')/2).^2 + ...
         cosX1lat(:,ones(1,m)).*cosX2lat(:,ones(1,n))'.* ...
         sin((X1(:,ones(1,m)) - X2(:,ones(1,n))')/2).^2)));
   elseif p == 1 && e == 0     % Rectilinear distance 
      D = abs(X1(:,ones(1,m)) - X2(:,ones(1,n))') + ...
         abs(X1(:,2*ones(1,m)) - X2(:,2*ones(1,n))');
   elseif (p >= 1 && p <= 2) || (e ~= 0 && p > 0)  % General lp distance
      D = (((X1(:,ones(1,m)) - X2(:,ones(1,n))').^2 + e).^(p/2) + ...
         ((X1(:,2*ones(1,m)) - X2(:,2*ones(1,n))').^2 + e).^(p/2)).^(1/p); 
   elseif p == Inf && e == 0   % Chebychev distance
      D = max(abs(X1(:,ones(1,m)) - X2(:,ones(1,n))'),...
         abs(X1(:,2*ones(1,m)) - X2(:,2*ones(1,n))'));
   else                       % Otherwise
      D = zeros(n,m);
      for i = 1:n
         for j = 1:m
            D(i,j) = norm(X1(i,:) - X2(j,:),p);
         end
      end   
   end
   
   % X1 and X2 are 3 or more dim. point   
else
   if p == 2                  % Euclidean distance
      D = sqrt(sum((repmat(reshape(X1,[n 1 d]),1,m) - ...
         repmat(reshape(X2,[1 m d]),n,1)).^2 + e,3));
   elseif p == 1 && e == 0     % Rectilinear distance
      D = sum(abs(repmat(reshape(X1,[n 1 d]),1,m) - ...
         repmat(reshape(X2,[1 m d]),n,1)),3);
   elseif (p >= 1 && p <= 2) || (e ~= 0 && p > 0)  % General lp distance
      D = sum(((repmat(reshape(X1,[n 1 d]),1,m) - ...
         repmat(reshape(X2,[1 m d]),n,1)).^2 + e).^(p/2),3).^(1/p);
   elseif p == Inf && e == 0   % Chebychev distance
      D = max(abs(repmat(reshape(X1,[n 1 d]),1,m) - ...
         repmat(reshape(X2,[1 m d]),n,1)),[],3);
   else                       % Otherwise
      D = zeros(n,m);
      for i = 1:n
         for j = 1:m
            D(i,j) = norm(X1(i,:) - X2(j,:),p);
         end
      end   
   end
end      

% Convert 'rad' to 'km' or 'mi' (or 'sm'), adjusting for bulge of earth
if ischar(p) && ~strcmp(p,'rad')
   meanlat = (X1(1:size(D,1),2*ones(m,1)) + X2(:,2*ones(size(D,1),1))')/2;
   if strcmp(p,'km')
      D = (6378.388 - 21.476*abs(sin(meanlat))).*D;
   else   % 'mi' or 'sm'
      D = (3963.34 - 13.35*abs(sin(meanlat))).*D;
   end
end

% Transpose D if X2 was interchanged
if intrchg == 1, D = D.'; end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品乱码久久久久久| 久久99久久久欧美国产| 蜜桃av一区二区| 99久久精品免费看| 欧美一级二级三级乱码| 中文字幕一区二区三区四区不卡| 亚洲mv在线观看| 91一区二区在线观看| 精品国内二区三区| 亚洲一区av在线| av网站免费线看精品| 久久亚洲综合色| 日韩福利电影在线| 中文字幕精品三区| 久久成人av少妇免费| 欧美日韩视频在线观看一区二区三区| 中文字幕精品一区| 高清国产一区二区| wwwwxxxxx欧美| 九色|91porny| 日韩精品专区在线| 日本成人在线不卡视频| 欧美日韩国产美| 亚洲一区二区精品视频| 一本久久精品一区二区| 国产精品区一区二区三区| 国产成人午夜精品5599| 久久这里只有精品6| 久久99久久99小草精品免视看| 欧美肥妇free| 日本不卡视频一二三区| 欧美日韩在线播放一区| 亚洲国产精品久久久久秋霞影院 | 99在线热播精品免费| 精品av综合导航| 国产一区二区三区免费看 | 91视频一区二区| 成人欧美一区二区三区1314| 白白色 亚洲乱淫| 亚洲人成亚洲人成在线观看图片| 99久久久国产精品| 亚洲精品中文在线影院| 91久久香蕉国产日韩欧美9色| 日本一区二区三区电影| 成人av在线一区二区| 1000部国产精品成人观看| 91视频xxxx| 亚洲二区在线视频| 日韩视频一区在线观看| 国内精品伊人久久久久影院对白| 国产亚洲成av人在线观看导航| 国内精品嫩模私拍在线| 中文字幕高清一区| 色婷婷综合在线| 亚洲成av人片观看| 精品国产乱码久久久久久牛牛 | 亚洲成人精品一区二区| 日韩免费电影网站| 成人成人成人在线视频| 亚洲第一福利视频在线| 精品国产青草久久久久福利| 成a人片亚洲日本久久| 亚洲午夜免费福利视频| 91精品国产品国语在线不卡| 国产麻豆成人传媒免费观看| 亚洲欧美另类小说视频| 7777精品伊人久久久大香线蕉最新版| 蜜臀国产一区二区三区在线播放| 国产午夜精品一区二区| 欧美在线小视频| 国产成人一区在线| 亚洲午夜影视影院在线观看| 精品国精品自拍自在线| 欧美综合视频在线观看| 国产精品夜夜爽| 亚洲福利视频一区二区| 国产日韩精品视频一区| 欧美日韩和欧美的一区二区| 国产一区二区免费看| 亚洲国产另类av| 国产精品初高中害羞小美女文| 制服丝袜亚洲色图| 91首页免费视频| 国产一区 二区| 日韩二区在线观看| 亚洲综合视频网| 中文av字幕一区| 久久亚洲免费视频| 91精品午夜视频| 欧美日韩中字一区| 97se亚洲国产综合自在线| 激情综合网av| 日韩国产精品久久久久久亚洲| √…a在线天堂一区| 国产日韩精品一区| 久久婷婷色综合| 欧美成人福利视频| 欧美一区二区三区在线观看| 色综合久久久久综合体桃花网| 国产精华液一区二区三区| 蜜桃精品视频在线观看| 亚洲va韩国va欧美va| 亚洲综合色自拍一区| 亚洲免费在线电影| 国产精品欧美精品| 国产欧美一区二区精品性色| 日韩欧美国产不卡| 日韩欧美高清在线| 日韩欧美激情在线| 日韩亚洲欧美综合| 欧美一二三四区在线| 欧美精品123区| 884aa四虎影成人精品一区| 欧美日韩电影在线播放| 欧美日韩国产bt| 欧美日韩另类一区| 欧美一区欧美二区| 精品国产91洋老外米糕| 久久久综合网站| 中文天堂在线一区| 中文字幕一区二区日韩精品绯色| 中文字幕亚洲不卡| 亚洲视频免费在线| 亚洲国产sm捆绑调教视频| 五月婷婷激情综合| 久久精品99国产精品| 国精产品一区一区三区mba视频 | 日本成人在线看| 免费成人美女在线观看.| 久久成人精品无人区| 国产精品伊人色| 成人激情动漫在线观看| 色综合天天视频在线观看| 欧美视频一二三区| 欧美videos中文字幕| 国产日产欧产精品推荐色| 国产精品萝li| 亚洲视频一区在线观看| 日韩精品电影在线| 国产美女视频一区| 91丨九色丨国产丨porny| 欧美日韩电影一区| 国产亚洲欧洲997久久综合| 亚洲欧美日韩国产成人精品影院| 亚洲r级在线视频| 国产精品一区二区在线观看不卡 | 精品一区二区三区的国产在线播放| 国产一区三区三区| 色老头久久综合| 日韩一区二区三区av| 国产精品情趣视频| 日本成人在线不卡视频| 不卡视频一二三| 日韩免费观看2025年上映的电影| 国产三级一区二区| 午夜一区二区三区在线观看| 国产成人在线观看| 欧美视频在线播放| 国产精品视频一区二区三区不卡| 夜夜夜精品看看| 国产精品影音先锋| 欧美老肥妇做.爰bbww视频| 欧美精品一区二区三区久久久| 1区2区3区欧美| 麻豆精品视频在线| 色天使色偷偷av一区二区| 久久综合久久综合九色| 亚洲成人一区二区| k8久久久一区二区三区 | 美脚の诱脚舐め脚责91| 色婷婷久久一区二区三区麻豆| 精品999久久久| 亚洲国产一区二区a毛片| 成人激情黄色小说| 久久久九九九九| 免费成人性网站| 欧美日韩视频第一区| 亚洲欧美日韩在线不卡| 国产伦精品一区二区三区免费| 欧美猛男男办公室激情| 日韩美女视频一区二区| 国产iv一区二区三区| 精品卡一卡二卡三卡四在线| 午夜精品久久久| 在线免费观看成人短视频| 国产精品久线在线观看| 国产精品一区免费在线观看| 日韩亚洲欧美中文三级| 午夜精品久久久| 欧美日韩高清一区二区不卡 | 国产精品电影一区二区| 国产尤物一区二区| 亚洲精品一区在线观看| 精品一区二区在线免费观看| 884aa四虎影成人精品一区| 偷偷要91色婷婷| 欧美日韩亚洲综合| 五月开心婷婷久久| 日韩亚洲国产中文字幕欧美| 奇米四色…亚洲|