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

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

?? prwaitbar.m

?? 這是我找到的一個模式識別工具箱
?? M
字號:
%PRWAITBAR Report PRTools progress by single waitbar
%
%   H = PRWAITBAR(N,M,TEXT)
%   H = PRWAITBAR(N,TEXT,FLAG)
%   S = PRWAITBAR
%
% INPUT
%   N      Integer, total number of steps in loop
%   M      Integer, progress in number of steps in loop
%   TEXT   Text to be displayed in waitbar
%   FLAG   Flag (0/1)
%
% OUTPUT
%   H      Waitbar handle
%   S      Status PRWAITBAR ('on' or 'off')
%
% DESCRIPTION
% This routine may be used to report progress in PRTools experiments.
% It detects and integrates levels of loops. The following calls are
% supported:
%
% 	PRWAITBAR(N,TEXT)          initialize loop
% 	PRWAITBAR(N,TEXT,FLAG)     initialize loop if FLAG == 1
%   PRWAITBAR(N,M)             update progress
%   PRWAITBAR(N,M,TEXT)        update info
%   PRWAITBAR(0)               closes loop level
%   PRWAITBAR OFF              removes waitbar
%   PRWAITBAR ON               switches waitbar on again
%   PRWAITBAR                  reset prwaitbar
%
% A typical sequence of calls is:
%    .....
%    prtwaitbar(nfolds,'cross validation')
%    for j = 1:nfolds
%        prtwaitbar(nfolds,j,['cross validation, fold ' int2str(j)])
%        ....
%    end
%    prtwairbar(0)
%    .....
% Calls to PRTWAITBAR may be nested and all progress is merged into a single
% waitbar. In this PRWAITBAR differs from Matlab's WAITBAR.
% A typical example can be visualised by:
%
%    crossval({gendatb,gendath},{svc,loglc,fisherc},5,2)
%
% SEE ALSO
% PRPROGRESS

% Copyright: R.P.W. Duin, r.p.w.duin@prtools.org
% Faculty EWI, Delft University of Technology
% P.O. Box 5031, 2600 GA Delft, The Netherlands

function varargout = prwaitbar(n,m,text)

persistent N                % array, N(DEPTH) is the loop size at level DEPTH
persistent M                % array, M(DEPTH) is the present counter values at level DEPTH
persistent DEPTH            % nesting DEPTH
persistent WHANDLE          % handle of the waitbar
persistent MESS             % cell array with message to be displayed at level DEPTH
persistent STAT             % flag, if STAT = 0, PRWAITBAR is switched off
persistent WPOS             % position of the waitbar on the screen
persistent FNAME            % cell array with names of the calling routine at level DEPTH
persistent DOIT             % flag that may switch off tracking progress at deeper levels
persistent NSKIP            % level at which tracking progress has been switched off
persistent OLDPROG          % previous progress


if isempty(DEPTH)           % initialisation of persistent variables
	DEPTH = 0;
	MESS = cell(1,10);
	FNAME = cell(1,10);
	STAT = 1;
	DOIT = 1;
end

decrease_depth = 0;
if nargin == 0                            % ---- call: prwaitbar ----
	if nargout == 0
		prwaitbar off
		DEPTH = 0;
		STAT = 1;
		DOIT = 1;
	else                                    % ---- call: out = prwaitbar ----
		if nargout == 1
			if STAT == 0, varargout = {'off'};
			else varargout = {'on'};
			end
		else
			varargout = {WHANDLE,N,M,DEPTH,MESS,STAT,WPOS,FNAME,DOIT,NSKIP};
		end
		return
	end
	
elseif nargin == 1
	
	if isstr(n) & strcmp(n,'off')           % ---- call: prwaitbar off ----
		
		if ~isempty(WHANDLE) & ishandle(WHANDLE)
			WPOS = get(WHANDLE,'position');     % save position as user likes it
			close(WHANDLE);
		end
		N = []; M = []; DEPTH = 0;            % set variables at initial values
		WHANDLE = [];
		MESS = cell(1,10); 
		STAT = 0;
		return
		
	elseif isstr(n) & strcmp(n,'on')        % ---- call: prwaitbar on ----
		STAT = 1;                            % restart waitbar
		DEPTH = [];
		return
		
	elseif n == 0 & STAT                    % ---- call: prwaitbar(0) ----
		if ~DOIT 
			if (NSKIP == DEPTH)                 % we are back at the right level, so
				DOIT = 1;                         % restart tracking progress
			end
			DEPTH = DEPTH - 1;
			return
		end
		M(DEPTH) = N(DEPTH);                % loop almost ready
		decrease_depth = 1;                 % decrease depth after plotting progress
	else
		return
	end
	
elseif ~STAT                            % next commands can be skipped if switched off
	return
	
elseif nargin == 2
	
	if isstr(m)                           % ---- call: prwaitbar(n,text) ----
		                                    % note: this is a typical call to
		                                    % start a waitbar cycle
		
		DEPTH = DEPTH + 1;                  % we nest one level deeper
		if ~DOIT                            % skip if we sont track progress
			return
		end 
		
		err = lasterror;                    
		% we have to find out whether we continue a proper set of prwaitbar calls, or whether
	  % we have to recover from some error or possible interrupt and have to re-initialise 
		% the admin
	
		if ~strcmp(err.message,'##')         % yes, restart after interrupt
			prwaitbar;
			DEPTH = 1;
		end
		                                     % find the name of the calling routine
    [ss,ii] = dbstack;
    [path,name] = fileparts(ss(2).name);
		if strcmp(name,mfilename)            % search deeper in case of internal call
    	[path,name] = fileparts(ss(3).name);
		end
    FNAME{DEPTH} = name;                 % store it, and display it in waitbar
 	  set(WHANDLE,'name',['                         PRWAITBAR:   ' name]);
		
		N(DEPTH) = n;                        % complete the admin
		M(DEPTH) = 0;
		MESS{DEPTH} = m;                     % note: m contains text
		
	elseif DOIT                            % ---- call: prwaitbar(n,m) ----
		DEPTH = max(DEPTH,1);                % store admin
		N(DEPTH) = n;
		M(DEPTH) = m-1;                      % store m-1, assuming call is in the start of loop
	else                                   % skip and return if progress should not be reported
		return
	end
	
elseif nargin == 3
	
	if isstr(m)                            % ---- call: prwaitbat(n,text,flag) ----
		if ~DOIT                             % there is a flag, but we already skip progress               
			DEPTH = DEPTH + 1;                 % just keep track of loop nesting.
		else                                 % we are in reporting mode  
			DOIT = (text > 0);                 % check flag 
			if ~DOIT                           % stop progress reporting!!!
				DEPTH = DEPTH + 1;               % keep track of loop nesting
				NSKIP = DEPTH;                   % store level
			else                               % flag does not apply,
				prwaitbar(n,m);                  % just print waitbar
			end
		end
		return
		
	else                                   % ---- call: prwaitbar(n,m,text) ----
		
		if ~DOIT                             % skip progress report if needed
			return
		end
		
		if isempty(WHANDLE)                  % switch waitbar on if needed
			prwaitbar;                         % this only happens if the loop is not properly opened
		end
		N(DEPTH) = n;                        % update admin
		M(DEPTH) = m-1;
		MESS{DEPTH} = text;
	end
end

if ~STAT | ~DOIT                         % dont display, (just to be sure)
	return
end

% waitbar creation and display

if isempty(WHANDLE)                      % if no waitbar, make one
	
	s = sprintf(' \n \n \n' );             % room for 4 levels of text
	h = waitbar(0,s);                      % create waitbar
  OLDPROG = 0;
	if DEPTH == 0, fnam = [];
	else, fnam = FNAME{DEPTH}; end         % retrieve name of calling routine
 	set(h,'name',['                         PRWAITBAR:   ' fnam])
	WHANDLE = h;
	
	err.message = '##';                    % store for proper continuation in next call
	lasterror(err);
	
	if ~isempty(WPOS)                      % if we have a position
		set(h,'position',WPOS);              % apply it
	else                                   % otherwise
		WPOS = get(h,'position');            % get it
	end
	
end
	
progress = 0;                            % progress
if DEPTH == 0                            % still on level zero
	s = sprintf(' \n \n \n' );             % no message
else
	for j=DEPTH:-1:1                       % run over all levels for progress
		progress = (progress + M(j))/(N(j)); % compute total progress
	end
	s = wtext(MESS,N,DEPTH);               % construct message
end

significant = (progress - OLDPROG >= 0.005);
if ishandle(WHANDLE)
  if significant                            % show significant updates only                
	  waitbar(progress,WHANDLE,s);            % update waitbar
    OLDPROG = progress;
  end
else                                      % handle was not proper (anymore)
	WHANDLE = waitbar(progress,s);          % reconstruct waitbar
  OLDPROG = progress;
end

if decrease_depth                         % update admin
	DEPTH = DEPTH - 1;
	if DEPTH == 0                           % take care that new waitbar starts fresh
		err.message = '';
		lasterror(err);
		WPOS = get(WHANDLE,'position');       % but in old position
    delete(WHANDLE);
  else
    if significant
   	  set(WHANDLE,'name',['                         PRWAITBAR:   ' FNAME{DEPTH}]);
    end
	end
end

if nargout > 0
	varargout = {WHANDLE};
end

return

function s = wtext(MESS,N,DEPTH)

	t = cell(1,DEPTH);
	n = 0;
	for j=1:DEPTH
		if N(j) > 1
			n = n+1;
			t{n} = MESS{j};
		end
	end

	if n == 0
		s = sprintf([' \n \n \n \n ']);
	elseif n == 1
		s = sprintf([' \n \n' t{1} '\n ']);
	elseif n == 2
		s = sprintf([' \n' t{1} '\n' t{2} '\n ']);
	elseif n == 3
		s = sprintf([' \n' t{1} '\n' t{2} '\n' t{3}]);
	else
		s = sprintf([t{n-3} '\n' t{n-2} '\n' t{n-1} '\n' t{n}]);
	end
	
return

	
	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美另类z0zxhd电影| 一区二区久久久久| aaa欧美日韩| 久久久久国产精品麻豆ai换脸| 亚洲国产cao| 在线综合+亚洲+欧美中文字幕| 日韩高清不卡一区二区三区| 欧美一区二视频| 成人综合婷婷国产精品久久| 日韩美女精品在线| 91麻豆精品国产自产在线| 毛片不卡一区二区| 日韩理论片中文av| 91精品国产91热久久久做人人| 捆绑调教一区二区三区| 日韩久久一区二区| 精品日韩一区二区| 欧美性一级生活| 国产91精品入口| 欧美日本一道本在线视频| 九九九久久久精品| 精品国产一区二区精华| 成人午夜免费电影| 国产日韩精品一区二区三区在线| 国产成人av一区| 亚洲大片在线观看| 日韩精品中文字幕在线不卡尤物 | 欧美精品一区二区三区蜜桃视频| youjizz久久| 成人午夜电影久久影院| 久久国产三级精品| 蜜桃av噜噜一区二区三区小说| 一区二区不卡在线播放 | 久久综合中文字幕| 日韩欧美二区三区| 91麻豆精品国产| 在线成人小视频| 日韩午夜在线播放| 欧美一区二区三区在线视频 | 色综合久久88色综合天天免费| 国产成人亚洲精品青草天美 | 欧美性猛交xxxx黑人交| 91免费版pro下载短视频| 91丨九色porny丨蝌蚪| 99久久99久久免费精品蜜臀| 91在线一区二区三区| 欧美综合视频在线观看| 欧美一区二区三区四区久久 | 欧美高清在线视频| 亚洲美女免费在线| 精品一区二区三区久久久| 丰满少妇在线播放bd日韩电影| eeuss鲁一区二区三区| 欧美午夜一区二区| 久久久精品免费免费| 日韩美女啊v在线免费观看| 日本亚洲天堂网| 丰满亚洲少妇av| 欧美性生活一区| 久久亚洲精品国产精品紫薇 | 欧美国产精品一区二区| 亚洲精品国产精华液| 乱中年女人伦av一区二区| 国产精品综合在线视频| 7878成人国产在线观看| 国产视频一区二区在线| 日本麻豆一区二区三区视频| 岛国av在线一区| 精品国产一区二区三区久久久蜜月| 亚洲精品你懂的| www.日韩在线| 国产女人18水真多18精品一级做| 亚洲电影一区二区| 成人动漫一区二区在线| 久久久99久久| 精品一区二区精品| 日韩欧美成人午夜| 美国十次了思思久久精品导航| 欧美高清视频一二三区 | 欧美影片第一页| 亚洲国产精品自拍| 日韩一区二区精品葵司在线| 麻豆国产一区二区| 国产精品麻豆一区二区| 91福利国产成人精品照片| 亚洲柠檬福利资源导航| 欧美日韩综合不卡| 日韩国产欧美在线观看| 26uuu色噜噜精品一区二区| 国产大片一区二区| 亚洲一区二区在线视频| 久久综合久久综合亚洲| 国产精品99久久久久久宅男| 日韩区在线观看| 97se亚洲国产综合自在线观| 日韩不卡一区二区三区| 国产精品天天摸av网| 欧美色网一区二区| 不卡视频在线看| 蜜桃精品视频在线| 一区二区三区四区精品在线视频| 欧美一区二区精美| 欧美亚洲国产一区二区三区va | 久久成人免费网| 一区二区在线电影| 中文在线一区二区| 精品久久国产字幕高潮| 欧美色图免费看| 91色婷婷久久久久合中文| 国产在线精品一区二区不卡了 | 国产精品理论片| 久久久综合视频| 国产日韩精品一区二区三区在线| 欧美日韩国产a| 欧美视频中文一区二区三区在线观看| 美女网站视频久久| 亚洲一区二区高清| 午夜伦理一区二区| 肉肉av福利一精品导航| 最近日韩中文字幕| 亚洲精品国产成人久久av盗摄| 国产精品高潮久久久久无| 亚洲天堂免费看| 一区二区三区.www| 亚洲成a天堂v人片| 日本不卡视频在线观看| 麻豆精品久久久| 一本一本大道香蕉久在线精品| 91免费小视频| 日韩写真欧美这视频| 国产精品久久久久影视| 亚洲一区二区视频| 久久成人av少妇免费| 不卡av免费在线观看| 欧美午夜影院一区| 欧美经典一区二区| 亚洲成av人片在www色猫咪| 久久精品国产免费| 色婷婷精品久久二区二区蜜臂av| 91精品国产综合久久精品| 中文字幕免费不卡| 亚洲成人777| 91福利视频久久久久| 欧美精品一区二区三| 午夜视频一区在线观看| aaa亚洲精品| 久久久久久亚洲综合影院红桃| 亚洲国产欧美在线人成| 99久久精品国产毛片| 久久久蜜桃精品| 久久爱www久久做| 欧美挠脚心视频网站| 国产精品传媒入口麻豆| 日韩高清在线电影| 欧美疯狂做受xxxx富婆| 亚洲国产精品久久艾草纯爱| 成人国产精品免费| 国产精品久久久久影院亚瑟| 国产一区二区三区黄视频 | 精品欧美乱码久久久久久| 亚洲成av人片在线观看无码| 欧美日韩综合不卡| 亚洲国产成人av网| 亚洲精品一线二线三线| 国内精品久久久久影院色| 久久久久久久久久久久久夜| 国产一区二区在线观看免费| 亚洲综合丝袜美腿| 91蝌蚪porny九色| 国产女主播在线一区二区| 亚洲国产日韩a在线播放性色| 成人免费毛片app| 亚洲精品一区二区三区影院 | 亚洲综合精品自拍| 韩国精品一区二区| 国产精品成人在线观看| 欧美性色综合网| 韩日av一区二区| 国产精品国模大尺度视频| 欧美亚洲高清一区| 日韩一区精品字幕| 国产精品国产三级国产有无不卡| 色婷婷激情久久| 国产另类ts人妖一区二区| 亚洲欧美日韩在线| 精品成人免费观看| 91理论电影在线观看| 国产一区二区伦理| 久久久久久久久伊人| 99九九99九九九视频精品| 日本亚洲天堂网| 亚洲老司机在线| 欧美理论在线播放| 国产乱码精品一品二品| 免费国产亚洲视频| 亚洲成av人片在线观看| 亚洲三级在线观看| 中文字幕欧美日韩一区| 久久精品欧美日韩精品| 精品国产一区二区三区久久影院|