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

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

?? mds.m

?? 模式識別常用功能函數
?? M
?? 第 1 頁 / 共 3 頁
字號:
function printinfo(opt)  fprintf(opt.st,'Sammon mapping, error function with the parameter q=%d\n',opt.q);  switch (opt.optim)    case 'pn',        fprintf(opt.st,'Minimization by Pseudo-Newton algorithm\n');    case 'scg',        fprintf(opt.st,'Minimization by Scaled Conjugate Gradients algorithm\n');    otherwise       error(strcat('Possible initialization methods: pn (Pseudo-Newton), ',...                   'or scg (Scaled Conjugate Gradients).'));  endreturn% **********************************************************************************% [I,J,P] = MDS_REPPOINTS(D)%% Finds the indices of repeated/left points. J contains the indices of% repeated points in D. This means that for each j in J, there is a point% k ~= j such that D(J(j),k) = 0. I contains the indices of the remaining % points, and P those of the points in I that were identical to those in J.% Directly used in MDS routine.function [I,J,P] = mds_reppoints(D)  epsilon = 1e-20;      % Differences smaller than this are assumed to be zero.  [m,mm] = size(D);  I = 1:m; J = []; P = [];  if (m == mm) & (all(abs(D(1:m+1:end)) <= epsilon))    K = intersect (find (triu(ones(m),1)), find(D < epsilon));    if (~isempty(K))      P = mod(K,m);      J = fix(K./m) + 1;                 I(J) = [];                        end  else    [J,P] = find(D<=epsilon);     I(J)  = [];  endreturn;% **********************************************************************************% MDS_SETOPT  Sets parameters for the MDS mapping%%   OPT = MDS_SETOPT(OPT_GIVEN)% % INPUT%   OPT_GIVEN Parameters for the MDS mapping, described below (default: [])%% OUTPUT%   OPT       Structure of chosen options; if OPT_GIVEN is empty, then %               OPT.q       = 0%               OPT.optim   = 'pn'%               OPT.init    = 'cs'%               OPT.etol    = 1e-6 (the precise value depends on q)%               OPT.maxiter = inf %               OPT.itmap   = 'yes' %               OPT.isratio = 0 %               OPT.st      = 1 %               OPT.inspect = 2 %% DESCRIPTION  % Parameters for the MDS mapping can be set or changed. OPT_GIVEN consists% of the following fields: 'q', 'init', 'optim', 'etol', 'maxiter','itmap',% 'isratio', 'st' and 'inspect'. OPTIONS can include all the fields or some% of them only. The fields of OPT have some default values, which can be% changed by the OPT_GIVEN field values. If OPT_GIVEN is empty, then OPT% contains all default values. For a description of the fields, see MDS.%% Copyright: Elzbieta Pekalska, ela@ph.tn.tudelft.nl, 2000-2003% Faculty of Applied Sciences, Delft University of Technology%function opt = mds_setopt (opt_given)  opt.q       = 0;  opt.init    = 'cs';   opt.optim   = 'pn';  opt.st      = 1;   opt.itmap   = 'yes';   opt.maxiter = inf;   opt.inspect = 2;   opt.etol    = inf;   opt.isratio = 0;   opt.nanid   = [];    % Here are some extra values; set up in the MDS routine.  opt.plotlab = [];    % Not to be changed by the user.  if (~isempty(opt_given))    if (~isstruct(opt_given))      error('OPTIONS should be a structure with at least one of the following fields: q, init, etol, optim, maxiter, itmap, isratio, st or inspect.');    end    fn = fieldnames(opt_given);    if (~all(ismember(fn,fieldnames(opt))))      error('Wrong field names; valid field names are: q, init, optim, etol, maxiter, itmap, isratio, st or inspect.')    end     for i = 1:length(fn)      opt = setfield(opt,fn{i},getfield(opt_given,fn{i}));    end  end  if (isempty(intersect(opt.q,-2:1:2)))    error ('OPTIONS.q should be -2, -1, 0, 1 or 2.');  end  if (opt.maxiter < 2)    error ('OPTIONS.iter should be at least 1.');  end  if (isinf(opt.etol))    switch (opt.q)                 % Different defaults for different stresses.      case -2,         opt.etol = 1e-6;      case {-1,0}        opt.etol = 10*sqrt(eps);       case {1,2}        opt.etol = sqrt(eps);       end   elseif (opt.etol <= 0) | (opt.etol >= 0.1)    error ('OPTIONS.etol should be positive and smaller than 0.1.');  end  if (~ismember(opt.optim, {'pn','scg'}))    error('OPTIONS.optim should be pn or scg.');  end  if (~ismember(opt.itmap, {'yes','no'}))    error('OPTIONS.itmap should be yes or no.');  endreturn% **********************************************************************************% MDS_SAMMAP Sammon iterative nonlinear mapping for MDS%%   [YMAP,ERR] = MDS_SAMMAP(D,Y,YREP,OPTIONS)% % INPUT%   D       Square (M x M) dissimilarity matrix%   Y       M x N matrix containing starting configuration, or%   YREP    Configuration of the representation points%   OPTIONS Various parameters of the  minimization procedure put into %           a structure consisting of the following fields: 'q', 'optim',%           'init','etol','maxiter', 'isratio', 'itmap', 'st' and 'inspect'%           (default:%             OPTIONS.q       = 0          %             OPTIONS.optim   = 'pn'      %             OPTIONS.init    = 'cs'%             OPTIONS.etol    = 1e-6 (the precise value depends on q)%             OPTIONS.maxiter = inf %             OPTIONS.isratio = 0 %             OPTIONS.itmap   = 'yes' %             OPTIONS.st      = 1 %             OPTIONS.inspect = 2).% % OUTPUT%   YMAP     Mapped configuration%   ERR     Sammon stress %% DESCRIPTION  % Maps the objects given by a symmetric distance matrix D (with a zero% diagonal) onto, say, an N-dimensional configuration YMAP by an iterative% minimization of a variant of the Sammon stress. The minimization starts% from the initial configuration Y; see MDS_INIT.%% YREP is the Sammon configuration of the representation set. It is used% when new points have to be projected. In other words, if D is an M x M% symmetric distance matrix, then YREP is empty; if D is an M x N matrix,% then YMAP is sought such that D can approximate the distances between YMAP% and YREP.%% Missing values can be handled by marking them by NaN in D.%% SEE ALSO% MAPPINGS, MDS, MDS_CS, MDS_INIT, MDS_SETOPT%% Copyright: Elzbieta Pekalska, ela@ph.tn.tudelft.nl, 2000-2003% Faculty of Applied Sciences, Delft University of Technology%function [y,err] = mds_sammap(Ds,y,yrep,opt)  if (nargin < 4)    opt = [];                 % Will be filled by MDS_SETOPT, below.  end  if isempty(opt), opt = mds_setopt(opt); end  if (nargin < 3)    yrep = [];   end  % Extract labels and calculate distance matrix.  [m,n] = size(y);  if (~isempty(yrep))    replab = getlab(yrep);    yrep = +yrep;    D = sqrt(distm(y,yrep));   else    D = sqrt(distm(y));         yrep = [];    replab = [];  end  if (isempty(opt.plotlab))    opt.plotlab = ones(m,1);  end  it   = 0;           % Iteration number.  eold = inf;         % Previous stress (error).  % Calculate initial stress.  [e,a]= mds_samstress(opt.q,y,yrep,Ds,D,opt.nanid,opt.isratio); err = e;  fprintf(opt.st,'iteration: %4i   stress: %3.8d\n',it,e);    switch (opt.optim)      case 'pn',        % Pseudo-Newton minimization.      epr   = e;      % Previous values of E, EOLD for line search algorithm.      eepr  = e;      add   = 1e-4;   % Avoid G2 equal 0; see below.            BETA   = 1e-3;   % Parameter for line search algorithm.      lam1   = 0;           lam2   = 1;      % LAM (the step factor) lies in (LAM1, LAM2).      LMIN   = 1e-10;  % Minimum acceptable value for LAM in line search.      lambest = 1e-4; % LAM = LAMBEST, if LAM was not found.      % Loop until the error change falls below the tolerance or until      % the maximum number of iterations is reached.      while (abs(e-eold) >= opt.etol*(1 + abs(e))) & (it < opt.maxiter)        % Plot progress if requested.        if (opt.st > 0) & (opt.inspect > 0) & (mod(it,opt.inspect) == 0)%          if (it == 0), figure(1); clf; end          mds_plot(y,yrep,opt.plotlab,replab,e);         end        yold = y; eold = e;        % Calculate the stress.        [e,a]      = mds_samstress (opt.q,yold,yrep,Ds,[],opt.nanid,opt.isratio);        % Calculate gradients and pseudo-Newton update P.        [g1,g2,cc] = mds_gradients (opt.q,yold,yrep,a*Ds,[],opt.nanid);        p        = (g1/cc)./(abs(g2/cc) + add);        slope    = g1(:)' * p(:);        lam = 1;                         % Search for a suitable step LAM using a line search.        while (1)          % Take a step and calculate the delta error DE.          y      = yold + lam .* p;            [e,a]  = mds_samstress(opt.q,y,yrep,Ds,[],opt.nanid,opt.isratio);          de     = e - eold;          % Stop if the condition for a suitable lam is fulfilled.          if (de < BETA * lam * slope)            break;          end             % Try to find a suitable step LAM.          if (lam ~= 1)            r1 = de - lam*slope;             r2 = epr - eepr - lam2*slope;             aa = (2*de + r1/lam^2 - r2/lam2^2)/(lam2-lam1)^3;            bb = ((-lam2*r1)/lam^2 +(lam*r2)/lam2^2)/(lam2-lam1)^2;            if (abs(aa) <= eps)              lamtmp = -0.5 * slope/bb;            else              lamtmp = (-bb + sqrt(max(0,(bb^2 - 3*aa*slope))))/(3*aa);              end            % Prevent LAM from becoming too large.            if (lamtmp > 0.5 * lam), lamtmp = 0.5 * lam; end          else            lamtmp = -0.5 * slope/(e - eold - slope);          end          % Prevent LAM from becoming too small.          lam2 = lam;              lam  = max(lamtmp, 0.1*lam);            epr  = e;          eepr = eold;             if (lam < LMIN)            y = yold + lambest .* p;            [e,a] = mds_samstress(opt.q,y,yrep,Ds,[],opt.nanid,opt.isratio);            break;          end        end        it  = it + 1;         err = [err; e];        fprintf(opt.st,'iteration: %4i   stress: %3.8d\n',it,e);       end    case 'scg',              % Scaled Conjugate Gradient minimization.      sigma0  = 1e-8;                              lambda  = 1e-8;       % Regularization parameter.      lambda1 = 0;                                                                   % Calculate initial stress and direction of decrease P.      [e,a]   = mds_samstress(opt.q,y,yrep,Ds,D,opt.nanid,opt.isratio);         g1      = mds_gradients(opt.q,y,yrep,a*Ds,D,opt.nanid);   % Gradient      p       = -g1;                                            % Direction of decrease      gnorm2  = g1(:)' * g1(:);      success = 1;                                                    % Sanity check.      if (gnorm2 < 1e-15)        prwarning(2,['Gradient is nearly zero: ' gnorm2 ' (unlikely); initial configuration is the right one.']);          return      end      % Loop until the error change falls below the tolerance or until      % the maximum number of iterations is reached.      while (abs(eold - e) > opt.etol * (1 + e)) & (it < opt.maxiter)        g0     = g1;            % Previous gradient        pnorm2 = p(:)' * p(:);        eold   = e;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美1区2区3区| 欧美一级高清片| 中文字幕一区二区三区乱码在线| 国产黑丝在线一区二区三区| 欧美高清在线视频| 91亚洲永久精品| 性久久久久久久久| 亚洲成人一区二区在线观看| 久热成人在线视频| 欧美日韩高清一区二区不卡| 美脚の诱脚舐め脚责91 | 亚洲va在线va天堂| 精品少妇一区二区| 欧美美女bb生活片| 一本久道中文字幕精品亚洲嫩| 国产露脸91国语对白| 日韩成人伦理电影在线观看| 亚洲午夜久久久久久久久电影网| 亚洲欧洲日产国产综合网| 久久免费国产精品| 欧美mv日韩mv国产| 日韩精品在线看片z| 欧美日韩一二三区| 欧美系列亚洲系列| 91成人在线观看喷潮| 一本到不卡免费一区二区| 国产精品一区一区三区| 精品一区二区三区蜜桃| 免费观看在线综合色| 日日欢夜夜爽一区| 午夜久久福利影院| 亚洲va天堂va国产va久| 亚洲高清免费观看| 视频一区免费在线观看| 午夜精品免费在线| 日韩国产在线观看| 秋霞电影网一区二区| 美脚の诱脚舐め脚责91| 精品一区二区在线看| 精品一区二区三区在线观看 | 日韩激情一区二区| 日韩国产欧美三级| 视频一区欧美精品| 久草热8精品视频在线观看| 日韩电影免费一区| 久久福利资源站| 国产一区二区不卡| 国产老肥熟一区二区三区| 国产69精品久久777的优势| thepron国产精品| 日本精品一区二区三区四区的功能| 91美女片黄在线| 欧美日韩一区二区三区在线| 在线综合+亚洲+欧美中文字幕| 91精品国产一区二区三区蜜臀| 欧美一级片在线| www亚洲一区| 国产精品久久久久毛片软件| 亚洲欧美偷拍卡通变态| 亚洲成人动漫一区| 久草这里只有精品视频| 成人精品免费看| 在线一区二区视频| 日韩视频一区二区在线观看| 久久久久久久久久久久久久久99| 国产精品国模大尺度视频| 亚洲午夜在线电影| 国产综合色产在线精品| yourporn久久国产精品| 欧美日韩一区二区不卡| 亚洲精品在线三区| 综合网在线视频| 三级精品在线观看| 成人午夜精品在线| 欧美日韩精品专区| 国产精品超碰97尤物18| 亚洲国产日韩一区二区| 国产在线不卡一卡二卡三卡四卡| 成人美女在线视频| 91麻豆精品91久久久久同性| 国产精品污污网站在线观看| 亚洲午夜精品在线| 成人免费视频视频在线观看免费 | 亚洲一二三四区| 韩国欧美国产1区| 色综合中文字幕| 日韩免费电影网站| 一区二区三区鲁丝不卡| 精品亚洲国产成人av制服丝袜 | 欧美欧美欧美欧美| 国产精品美女久久久久久久| 亚洲国产精品久久久久秋霞影院| 国产精品99久久久久| 欧美日韩日本视频| 一区在线观看免费| 精品一区二区三区影院在线午夜| 91在线精品秘密一区二区| 在线不卡一区二区| 亚洲色大成网站www久久九九| 久久国产精品一区二区| 色综合久久久久综合| 国产欧美一区二区精品忘忧草| 天天综合天天综合色| 97久久精品人人澡人人爽| 久久综合九色综合97婷婷女人 | 国产盗摄精品一区二区三区在线| 91久久精品网| 国产网站一区二区| 麻豆精品在线播放| 欧美日韩精品一区二区三区蜜桃| 中文字幕在线不卡国产视频| 国产综合久久久久影院| 日韩一区二区三区在线视频| 亚洲综合免费观看高清完整版| 风间由美中文字幕在线看视频国产欧美 | 亚洲欧美aⅴ...| 国产精品亚洲第一区在线暖暖韩国| 制服丝袜中文字幕一区| 一卡二卡三卡日韩欧美| 91麻豆自制传媒国产之光| 国产欧美va欧美不卡在线| 国产一区在线观看麻豆| 精品成人私密视频| 免费高清不卡av| 欧美一区二视频| 午夜日韩在线电影| 欧美日韩你懂的| 天天射综合影视| 欧美肥妇free| 日韩电影免费在线观看网站| 88在线观看91蜜桃国自产| 亚洲图片欧美一区| 欧美日韩国产一区| 午夜私人影院久久久久| 欧美在线免费视屏| 亚洲无人区一区| 欧美久久婷婷综合色| 亚洲va欧美va天堂v国产综合| 欧美日韩在线三级| 日韩国产欧美视频| 日韩免费在线观看| 国产精品2024| 欧美国产乱子伦| 91免费在线播放| 亚洲一区在线播放| 欧美网站大全在线观看| 午夜不卡在线视频| 日韩一区二区精品葵司在线| 韩国精品一区二区| 国产欧美精品一区二区色综合| 99视频超级精品| 亚洲国产精品一区二区www| 欧美日韩国产一区| 极品少妇xxxx精品少妇| 中文字幕免费一区| 在线日韩av片| 免费观看在线色综合| 2023国产精品| 91年精品国产| 免费在线观看成人| 中文字幕成人av| 欧美性猛交xxxx黑人交| 日本视频免费一区| 国产欧美一区二区三区在线看蜜臀| 97se亚洲国产综合在线| 天天色天天操综合| 久久精品男人的天堂| 97久久精品人人做人人爽| 视频在线观看一区| 国产精品人妖ts系列视频| 欧美三级电影网| 国产麻豆精品在线| 亚洲激情自拍偷拍| 欧美电视剧免费全集观看| 国产91综合网| 日本视频在线一区| 中文字幕一区二区三区蜜月| 91精品国产综合久久久久久久| 国产不卡视频在线观看| 天堂午夜影视日韩欧美一区二区| 国产午夜精品一区二区三区视频| 在线中文字幕不卡| 国产很黄免费观看久久| 性久久久久久久久| 中文字幕在线不卡一区| 日韩欧美电影一区| 日本韩国欧美国产| 国产精品一区二区在线观看网站| 亚洲成人av一区二区三区| 国产午夜三级一区二区三| 欧美日韩免费一区二区三区 | 欧美精品一二三| aaa亚洲精品| 国产精品一区二区久激情瑜伽| 亚洲一区二区欧美激情| 国产精品久久久久桃色tv| 精品国产电影一区二区| 欧美浪妇xxxx高跟鞋交| 99精品久久久久久| 国产河南妇女毛片精品久久久 |