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

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

?? sammon.m

?? it is matlab code , som(slef organizing map) tool for matlab
?? M
字號:
function P = sammon(D, P, varargin)%SAMMON Computes Sammon's mapping of a data set.%% P = sammon(D, P, [value], [mode], [alpha], [Mdist])%%  P = sammon(D,2);            % projection to 2-dim space%  P = sammon(sMap,3);         % projects the codebook vectors%  P = sammon(sMap,3,[],[],[],Md) % uses distance matrix Md%  som_grid(sMap,'Coord',P)    % visualization of map projection%%  Input and output arguments ([]'s are optional):%   D        (matrix) size dlen x dim, data to be projected%            (struct) data or map struct            %   P        (scalar) output dimension%            (matrix) size dlen x odim, initial projection matrix%   [value]  (scalar) all different modes (the next argument) require %                     a value, default = 100%   [mode]   (string) 'steps' or 'errlimit' or 'errchange' or 'seconds',%                     see below, default is 'steps'%   [alpha]  (scalar) iteration step size, default = 0.2%   [Dist]   (matrix) pairwise distance matrix, size dlen x dlen.%                     If the distances in the input space should%                     be calculated otherwise than as euclidian%                     distances, the distance from each vector%                     to each other vector can be given here,%                     size dlen x dlen. For example PDIST%                     function can be used to calculate the%                     distances: Dist = squareform(pdist(D,'mahal'));%%   P        (matrix) size dlen x odim, the projections%% The output dimension must be 2 or higher but (naturally) lower % than data set dimension.%% The mode argument determines the end condition for iteration. If % the mode argument is used, also the value argument has to be % specified. Different mode possibilities are:% 'steps'      the iteration is terminated when it is run <value> % 'errlimit'   steps, the iteration is terminated when projection error %              is lower than <value>,% 'errchange'  the iteration is terminated when change between %              projection error on two successive iteration rounds%	       is less than <value> percent of total error, and% 'seconds'    the iteration is terminated after <value> seconds %              of iteration.%% See also CCA, PCAPROJ, SOM_GRID.% Reference: Sammon, J.W. Jr., "A nonlinear mapping for data%   structure analysis", IEEE Transactions on Computers, vol. C-18,%   no. 5, 1969, pp. 401-409.% Contributed to SOM Toolbox vs2, February 2nd, 2000 by Juha Vesanto% Copyright (c) by Juha Vesanto% http://www.cis.hut.fi/projects/somtoolbox/% juuso 040100 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% check argumentserror(nargchk(2, 6, nargin));  % check no. of input arguments is correct% input dataif isstruct(D),  if isfield(D, 'data'),         D = D.data; % data struct  elseif isfield(D, 'codebook'), D = D.codebook; % map struct  else error('Invalid structure');  endendif any(isnan(D(:))),   error('Cannot make Sammon''s projection for data with unknown components')end % compute data dimensionsorig_si = size(D); dim = orig_si(end); noc = prod(orig_si)/dim;if length(orig_si)>2, D = reshape(D,[noc dim]); end% output dimension / initial projection matrixif prod(size(P))==1,   odim = P;   P = rand(noc,odim)-0.5; else   si = size(P);  odim = si(end);  if prod(si) ~= noc*odim,     error('Initial projection matrix size does not match data size');  end  if length(si)>2, P = reshape(P,[noc odim]); end  inds = find(isnan(P));   if length(inds), P(inds) = rand(size(inds)); endendif odim > dim | odim < 2,   error('Output dimension must be within [2, dimension of data]');end% determine operating modeif nargin < 3 | isempty(varargin{1}) | isnan(varargin{1}), value=100;else value = varargin{1}; end  if nargin < 4 | isempty(varargin{2}) | isnan(varargin{2}), mode='steps';else mode = varargin{2}; end  switch mode,case 'steps',     runlen = value;case 'errlimit',  errlimit = value;case 'errchange', errchange = value; e_prev = 0;case 'seconds',   endtime = value;otherwise, error(['Illegal mode: ' mode]);end% iteration step sizeif nargin > 4, alpha = varargin{3}; else alpha = NaN; endif isempty(alpha) | isnan(alpha), alpha = 0.2; end% mutual distancesif nargin > 5, Mdist = varargin{4}; else Mdist = []; end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% initialization% these are used quite frequentlynoc_x_1  = ones(noc, 1); odim_x_1 = ones(odim,1); % compute mutual distances between vectorsif isempty(Mdist) | all(isnan(Mdist(:))),    fprintf(2, 'computing mutual distances\r');  dim_x_1 = ones(dim,1);  for i = 1:noc,    x = D(i,:);     Diff = D - x(noc_x_1,:);    N = isnan(Diff);    Diff(find(N)) = 0;     Mdist(:,i) = sqrt((Diff.^2)*dim_x_1);    N = find(sum(N')==dim); %mutual distance unknown    if ~isempty(N), Mdist(N,i) = NaN; end  endelse  % if the distance matrix is output from PDIST function  if size(Mdist,1)==1, Mdist = squareform(Mdist); end  if size(Mdist,1)~=noc,     error('Mutual distance matrix size and data set size do not match');   endend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% actionif strcmp(mode, 'seconds'), tic; end;fprintf(2, 'iterating                    \r');% sammon iteration   x  = P ;xu = zeros(noc, odim);xd = zeros(noc, odim);dq = zeros(noc, 1);dr = zeros(noc, 1);i = 0;ready = 0;while ~ready  for j = 1:noc,    xd      = -x + x(j*noc_x_1,:);    xd2     = xd.^2;    dpj     = sqrt(sum(xd2'))';    dq      = Mdist(:,j) - dpj;    dr      = Mdist(:,j) .* dpj;    ind     = find(dr ~= 0);    term    = dq(ind) ./ dr(ind);    e1      = sum(xd(ind,:) .* term(:,odim_x_1));    term2   = ((1.0 + dq(ind) ./ dpj(ind)) ./ dpj(ind)) ./ dr(ind);    e2      = sum(term) - sum(xd2(ind,:) .* term2(:,odim_x_1));    xu(j,:) = x(j,:) + alpha * e1 ./ abs(e2);  end  % move the center of mass to the center   c = sum(xu) / noc;  x = xu - c(noc_x_1, :);  i = i + 1;  % compute mapping error  % doing this adds about 25% to computing time    if 0,    e = 0; tot = 0;    for j = 2:noc,       d   = Mdist(1:(j - 1), j);      tot = tot + sum(d);      ind = find(d ~= 0);      xd  = -x(1:(j - 1), :) + x(j * ones(j - 1, 1), :);      ee  = d - sqrt(sum(xd'.^2))';      e   = e + sum(ee(ind).^2 ./ d(ind));    end    e = e/tot;     fprintf(2, '\r%d iterations, error %f', i, e);  else    fprintf(2, '\r%d iterations', i);  end    % determine is the iteration ready    switch mode    case 'steps',       if i == runlen, ready = 1; end;    case 'errlimit',      if e < errlimit, ready = 1; end;    case 'errchange',      if i > 1	change = 100 * abs(e - e_prev) / e_prev;	if change < errchange, ready = 1; end;	fprintf(2, ', change of error %f %%    ', change);      end      e_prev = e;    case 'seconds'      if toc > endtime, ready = 1; end;      fprintf(2, ', elapsed time %f seconds  ', toc);  end  fprintf(2, '        ');    % If you want to see the Sammon's projection plotted (in 2-D and 3-D case),  % execute the code below; it is not in use by default to speed up   % computation.    if 0,     clf    if odim == 1,     plot(x(:,1), noc_x_1, 'o');    elseif odim == 2, plot(x(:,1), x(:,2), 'o');    else              plot3(x(:,1), x(:,2), x(:,3), 'o')    end    drawnow  endendfprintf(2, '\n');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clean up% reshapeorig_si(end) = odim; P = reshape(x, orig_si);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美国精品在线观看| 99久久伊人精品| 成人永久看片免费视频天堂| 成人黄色电影在线| 欧美日韩国产一二三| 精品99一区二区三区| 国产精品美女久久久久久| 一个色综合网站| 韩日av一区二区| 在线精品视频一区二区| 在线免费观看成人短视频| 欧美一二三四区在线| 亚洲婷婷综合久久一本伊一区 | 国产精品二三区| 日韩中文字幕亚洲一区二区va在线 | 国产精品一二三区在线| 99精品欧美一区二区蜜桃免费| 91精品一区二区三区久久久久久 | 国产日韩影视精品| 无码av中文一区二区三区桃花岛| 国产酒店精品激情| 欧美日韩在线播放三区| 国产精品国产三级国产aⅴ无密码| 天堂久久久久va久久久久| 99久久婷婷国产| 久久久久久久精| 日本少妇一区二区| 91国偷自产一区二区开放时间| 亚洲国产精品成人综合色在线婷婷| 久久精品国产精品亚洲红杏| 日韩视频一区二区三区在线播放| 日韩福利视频导航| 欧美一区二区三区精品| 石原莉奈在线亚洲三区| 日韩一区二区在线观看视频| 久久av资源站| 国产情人综合久久777777| 成人午夜激情影院| 亚洲欧美视频在线观看| 91最新地址在线播放| 一区二区三区高清| 欧美日韩美女一区二区| 日韩激情一二三区| 久久午夜电影网| 91免费小视频| 无码av中文一区二区三区桃花岛| 91麻豆精品91久久久久久清纯 | 国产成人福利片| 国产精品剧情在线亚洲| 91久久精品一区二区二区| 亚洲成人av在线电影| 69av一区二区三区| 国产电影一区二区三区| 亚洲免费观看高清完整| 欧美精品色一区二区三区| 久久99久久精品欧美| 国产精品色噜噜| 欧美日韩视频一区二区| 国内精品嫩模私拍在线| 亚洲品质自拍视频网站| 日韩精品专区在线| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 91精品国产高清一区二区三区 | 亚洲色图19p| 欧美精品vⅰdeose4hd| 国产精品一区二区你懂的| 一区二区三区在线不卡| 精品国产乱码久久久久久久久| 99re这里只有精品首页| 午夜成人免费视频| 1024精品合集| 日韩欧美亚洲国产精品字幕久久久| 成人涩涩免费视频| 免费成人在线播放| 一区二区三区在线观看网站| 亚洲精品一区二区三区蜜桃下载| 日本久久电影网| 国产酒店精品激情| 日本视频中文字幕一区二区三区| 亚洲丝袜美腿综合| 亚洲精品一区二区三区香蕉| 欧美影院精品一区| thepron国产精品| 国产一区二区三区香蕉| 青青国产91久久久久久| 亚洲黄色在线视频| 国产精品三级在线观看| 精品国产成人系列| 91精品国产欧美一区二区成人| 91丨porny丨蝌蚪视频| 精品亚洲免费视频| 日韩福利视频导航| 一区二区高清在线| 亚洲精品视频免费看| 国产欧美精品一区aⅴ影院 | 国产精品丝袜在线| 欧美变态tickling挠脚心| 欧美日韩黄色一区二区| 欧美综合天天夜夜久久| 成人精品视频.| 成人一级片在线观看| 国产一区欧美二区| 激情深爱一区二区| 激情综合网av| 韩国女主播一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 视频一区欧美精品| 美女视频网站久久| 久久99热国产| 激情国产一区二区| 国产大片一区二区| 国产一区 二区| 成人美女视频在线看| 懂色av中文字幕一区二区三区| 国产乱码精品一品二品| 粉嫩av一区二区三区| 成人h精品动漫一区二区三区| 成人爱爱电影网址| 色琪琪一区二区三区亚洲区| 91精彩视频在线| 欧美日韩日日摸| 日韩丝袜美女视频| 欧美国产日产图区| 国产精品久久久久久久久免费相片| 欧美激情一区在线| 一二三四区精品视频| 日韩激情在线观看| 国产高清成人在线| 色婷婷综合久久久久中文一区二区 | 2017欧美狠狠色| 国产精品理伦片| 亚洲一区日韩精品中文字幕| 青椒成人免费视频| 国产成人综合精品三级| 成人18视频日本| 欧美日韩国产小视频在线观看| 国产精品蜜臀在线观看| 欧美激情艳妇裸体舞| 欧美日本在线观看| 在线观看不卡一区| 91精品国产欧美日韩| 91精品欧美一区二区三区综合在 | 国产精品色在线| 中文字幕日韩一区二区| 国产日韩欧美精品一区| 国产精品美女久久久久久| 久久99国产精品久久99果冻传媒| 亚洲精品高清在线观看| 国产欧美一区二区三区在线看蜜臀 | 欧美日韩国产高清一区二区三区| 日韩精品一区二区三区在线观看 | 国模无码大尺度一区二区三区| 一区二区三区四区亚洲| 一级做a爱片久久| 国产大陆a不卡| 日本强好片久久久久久aaa| 一区二区三区资源| 欧美国产欧美亚州国产日韩mv天天看完整| 成人激情视频网站| 99精品视频一区二区三区| 亚洲mv在线观看| 亚洲成人在线观看视频| 久久精品国产久精国产爱| 成人综合婷婷国产精品久久| 欧美日韩国产中文| 国产精品久久久久久一区二区三区 | 久草在线在线精品观看| 粉嫩av一区二区三区| 国产亚洲欧美日韩俺去了| 亚洲午夜激情网页| 精品国产一区二区在线观看| 成人免费在线观看入口| 麻豆国产精品视频| 欧美性受极品xxxx喷水| 国产欧美一区二区精品婷婷| 日韩精品1区2区3区| 91在线porny国产在线看| 久久久精品人体av艺术| 免费精品视频在线| 欧美日韩一区成人| 亚洲三级小视频| 成人午夜免费电影| 国产午夜亚洲精品午夜鲁丝片| 日产国产高清一区二区三区| 91福利精品视频| 专区另类欧美日韩| av日韩在线网站| 国产精品久久久久影院| 国产电影精品久久禁18| 久久久久久黄色| 国产一区二区三区免费在线观看| 日韩亚洲电影在线| 喷水一区二区三区| 91精品国产综合久久福利软件| 亚洲线精品一区二区三区八戒| 91国在线观看| 日欧美一区二区| 欧美成人video| 国产一区二区三区免费看| 国产亚洲va综合人人澡精品 |