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

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

?? fpica.m

?? 獨立成分分析算法
?? M
字號:
function [A, W] = fpica(X, whiteningMatrix, dewhiteningMatrix, approach, ...			numOfIC, g, finetune, a1, a2, myy, stabilization, ...			epsilon, maxNumIterations, maxFinetune, initState, ...			guess, sampleSize, displayMode, displayInterval, ...			s_verbose);%FPICA - Fixed point ICA. Main algorithm of FASTICA.%% [A, W] = fpica(whitesig, whiteningMatrix, dewhiteningMatrix, approach,%        numOfIC, g, finetune, a1, a2, mu, stabilization, epsilon, %        maxNumIterations, maxFinetune, initState, guess, sampleSize,%        displayMode, displayInterval, verbose);% % Perform independent component analysis using Hyvarinen's fixed point% algorithm. Outputs an estimate of the mixing matrix A and its inverse W.%% whitesig                              :the whitened data as row vectors% whiteningMatrix                       :can be obtained with function whitenv% dewhiteningMatrix                     :can be obtained with function whitenv% approach      [ 'symm' | 'defl' ]     :the approach used (deflation or symmetric)% numOfIC       [ 0 - Dim of whitesig ] :number of independent components estimated% g             [ 'pow3' | 'tanh' |     :the nonlinearity used%                 'gaus' | 'skew' ]     % finetune      [same as g + 'off']     :the nonlinearity used in finetuning.% a1                                    :parameter for tuning 'tanh'% a2                                    :parameter for tuning 'gaus'% mu                                    :step size in stabilized algorithm% stabilization [ 'on' | 'off' ]        :if mu < 1 then automatically on% epsilon                               :stopping criterion% maxNumIterations                      :maximum number of iterations % maxFinetune                           :maximum number of iteretions for finetuning% initState     [ 'rand' | 'guess' ]    :initial guess or random initial state. See below% guess                                 :initial guess for A. Ignored if initState = 'rand'% sampleSize    [ 0 - 1 ]               :percentage of the samples used in one iteration% displayMode   [ 'signals' | 'basis' | :plot running estimate%                 'filters' | 'off' ]% displayInterval                       :number of iterations we take between plots% verbose       [ 'on' | 'off' ]        :report progress in text format%% EXAMPLE%       [E, D] = pcamat(vectors);%       [nv, wm, dwm] = whitenv(vectors, E, D);%       [A, W] = fpica(nv, wm, dwm);%%% This function is needed by FASTICA and FASTICAG%%   See also FASTICA, FASTICAG, WHITENV, PCAMAT% @(#)$Id: fpica.m,v 1.6 2004/07/27 11:37:17 jarmo Exp $%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Global variable for stopping the ICA calculations from the GUIglobal g_FastICA_interrupt;if isempty(g_FastICA_interrupt)  clear global g_FastICA_interrupt;  interruptible = 0;else  interruptible = 1;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Default valuesif nargin < 3, error('Not enough arguments!'); end[vectorSize, numSamples] = size(X);if nargin < 20, s_verbose = 'on'; endif nargin < 19, displayInterval = 1; endif nargin < 18, displayMode = 'on'; endif nargin < 17, sampleSize = 1; endif nargin < 16, guess = 1; endif nargin < 15, initState = 'rand'; endif nargin < 14, maxFinetune = 100; endif nargin < 13, maxNumIterations = 1000; endif nargin < 12, epsilon = 0.0001; endif nargin < 11, stabilization = 'on'; endif nargin < 10, myy = 1; endif nargin < 9, a2 = 1; endif nargin < 8, a1 = 1; endif nargin < 7, finetune = 'off'; endif nargin < 6, g = 'pow3'; endif nargin < 5, numOfIC = vectorSize; end     % vectorSize = Dimif nargin < 4, approach = 'defl'; end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Checking the dataif ~isreal(X)  error('Input has an imaginary part.');end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Checking the value for verboseswitch lower(s_verbose) case 'on'  b_verbose = 1; case 'off'  b_verbose = 0; otherwise  error(sprintf('Illegal value [ %s ] for parameter: ''verbose''\n', s_verbose));end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Checking the value for approachswitch lower(approach) case 'symm'  approachMode = 1; case 'defl'  approachMode = 2; otherwise  error(sprintf('Illegal value [ %s ] for parameter: ''approach''\n', approach));endif b_verbose, fprintf('Used approach [ %s ].\n', approach); end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Checking the value for numOfICif vectorSize < numOfIC  error('Must have numOfIC <= Dimension!');end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Checking the sampleSizeif sampleSize > 1  sampleSize = 1;  if b_verbose    fprintf('Warning: Setting ''sampleSize'' to 1.\n');  end  elseif sampleSize < 1  if (sampleSize * numSamples) < 1000    sampleSize = min(1000/numSamples, 1);    if b_verbose      fprintf('Warning: Setting ''sampleSize'' to %0.3f (%d samples).\n', ...	      sampleSize, floor(sampleSize * numSamples));    end    endendif b_verbose  if  b_verbose & (sampleSize < 1)    fprintf('Using about %0.0f%% of the samples in random order in every step.\n',sampleSize*100);  endend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Checking the value for nonlinearity.switch lower(g) case 'pow3'  gOrig = 10; case 'tanh'  gOrig = 20; case {'gaus', 'gauss'}  gOrig = 30; case 'skew'  gOrig = 40; otherwise  error(sprintf('Illegal value [ %s ] for parameter: ''g''\n', g));endif sampleSize ~= 1  gOrig = gOrig + 2;endif myy ~= 1  gOrig = gOrig + 1;endif b_verbose,  fprintf('Used nonlinearity [ %s ].\n', g);endfinetuningEnabled = 1;switch lower(finetune) case 'pow3'  gFine = 10 + 1; case 'tanh'  gFine = 20 + 1; case {'gaus', 'gauss'}  gFine = 30 + 1; case 'skew'  gFine = 40 + 1; case 'off'  if myy ~= 1    gFine = gOrig;  else     gFine = gOrig + 1;  end  finetuningEnabled = 0; otherwise  error(sprintf('Illegal value [ %s ] for parameter: ''finetune''\n', ...		finetune));endif b_verbose & finetuningEnabled  fprintf('Finetuning enabled (nonlinearity: [ %s ]).\n', finetune);endswitch lower(stabilization) case 'on'  stabilizationEnabled = 1; case 'off'  if myy ~= 1    stabilizationEnabled = 1;  else    stabilizationEnabled = 0;  end otherwise  error(sprintf('Illegal value [ %s ] for parameter: ''stabilization''\n', ...		stabilization)); endif b_verbose & stabilizationEnabled  fprintf('Using stabilized algorithm.\n');end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Some other parametersmyyOrig = myy;% When we start fine-tuning we'll set myy = myyK * myymyyK = 0.01;% How many times do we try for convergence until we give up.failureLimit = 5;usedNlinearity = gOrig;stroke = 0;notFine = 1;long = 0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Checking the value for initial state.switch lower(initState) case 'rand'  initialStateMode = 0; case 'guess'  if size(guess,1) ~= size(whiteningMatrix,2)    initialStateMode = 0;    if b_verbose      fprintf('Warning: size of initial guess is incorrect. Using random initial guess.\n');    end  else    initialStateMode = 1;    if size(guess,2) < numOfIC      if b_verbose	fprintf('Warning: initial guess only for first %d components. Using random initial guess for others.\n', size(guess,2));       end      guess(:, size(guess, 2) + 1:numOfIC) = ...					     rand(vectorSize,numOfIC-size(guess,2))-.5;    elseif size(guess,2)>numOfIC      guess=guess(:,1:numOfIC);      fprintf('Warning: Initial guess too large. The excess column are dropped.\n');    end    if b_verbose, fprintf('Using initial guess.\n'); end  end otherwise  error(sprintf('Illegal value [ %s ] for parameter: ''initState''\n', initState));end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Checking the value for display mode.switch lower(displayMode) case {'off', 'none'}  usedDisplay = 0; case {'on', 'signals'}  usedDisplay = 1;  if (b_verbose & (numSamples > 10000))    fprintf('Warning: Data vectors are very long. Plotting may take long time.\n');  end  if (b_verbose & (numOfIC > 25))    fprintf('Warning: There are too many signals to plot. Plot may not look good.\n');  end case 'basis'  usedDisplay = 2;  if (b_verbose & (numOfIC > 25))    fprintf('Warning: There are too many signals to plot. Plot may not look good.\n');  end case 'filters'  usedDisplay = 3;  if (b_verbose & (vectorSize > 25))    fprintf('Warning: There are too many signals to plot. Plot may not look good.\n');  end otherwise  error(sprintf('Illegal value [ %s ] for parameter: ''displayMode''\n', displayMode));end% The displayInterval can't be less than 1...if displayInterval < 1  displayInterval = 1;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if b_verbose, fprintf('Starting ICA calculation...\n'); end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SYMMETRIC APPROACHif approachMode == 1,  % set some parameters more...  usedNlinearity = gOrig;  stroke = 0;  notFine = 1;  long = 0;    A = zeros(vectorSize, numOfIC);  % Dewhitened basis vectors.  if initialStateMode == 0    % Take random orthonormal initial vectors.    B = orth(rand(vectorSize, numOfIC) - .5);  elseif initialStateMode == 1    % Use the given initial vector as the initial state    B = whiteningMatrix * guess;  end    BOld = zeros(size(B));  BOld2 = zeros(size(B));    % This is the actual fixed-point iteration loop.  for round = 1:maxNumIterations + 1,    if round == maxNumIterations + 1,      fprintf('No convergence after %d steps\n', maxNumIterations);      fprintf('Note that the plots are probably wrong.\n');      if ~isempty(B)	W = B' * whiteningMatrix;	A = dewhiteningMatrix * B;      else	W = [];	A = [];      end      return;    end        if (interruptible & g_FastICA_interrupt)      if b_verbose         fprintf('\n\nCalculation interrupted by the user\n');      end      if ~isempty(B)	W = B' * whiteningMatrix;	A = dewhiteningMatrix * B;      else	W = [];	A = [];      end      return;    end            % Symmetric orthogonalization.    B = B * real(inv(B' * B)^(1/2));        % Test for termination condition. Note that we consider opposite    % directions here as well.    minAbsCos = min(abs(diag(B' * BOld)));    minAbsCos2 = min(abs(diag(B' * BOld2)));        if (1 - minAbsCos < epsilon)      if finetuningEnabled & notFine        if b_verbose, fprintf('Initial convergence, fine-tuning: \n'); end;        notFine = 0;        usedNlinearity = gFine;        myy = myyK * myyOrig;        BOld = zeros(size(B));        BOld2 = zeros(size(B));	      else        if b_verbose, fprintf('Convergence after %d steps\n', round); end	        % Calculate the de-whitened vectors.        A = dewhiteningMatrix * B;        break;      end    elseif stabilizationEnabled      if (~stroke) & (1 - minAbsCos2 < epsilon)	if b_verbose, fprintf('Stroke!\n'); end;	stroke = myy;	myy = .5*myy;	if mod(usedNlinearity,2) == 0	  usedNlinearity = usedNlinearity + 1;	end      elseif stroke	myy = stroke;	stroke = 0;	if (myy == 1) & (mod(usedNlinearity,2) ~= 0)	  usedNlinearity = usedNlinearity - 1;	end      elseif (~long) & (round>maxNumIterations/2)	if b_verbose, fprintf('Taking long (reducing step size)\n'); end;	long = 1;	myy = .5*myy;	if mod(usedNlinearity,2) == 0	  usedNlinearity = usedNlinearity + 1;	end      end    end        BOld2 = BOld;    BOld = B;        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    % Show the progress...    if b_verbose      if round == 1        fprintf('Step no. %d\n', round);      else        fprintf('Step no. %d, change in value of estimate: %.3g \n', round, 1 - minAbsCos);      end    end        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    % Also plot the current state...    switch usedDisplay     case 1      if rem(round, displayInterval) == 0,	% There was and may still be other displaymodes...	% 1D signals	icaplot('dispsig',(X'*B)');	drawnow;      end     case 2      if rem(round, displayInterval) == 0,	% ... and now there are :-)	% 1D basis	A = dewhiteningMatrix * B;	icaplot('dispsig',A');	drawnow;      end     case 3      if rem(round, displayInterval) == 0,	% ... and now there are :-)	% 1D filters	W = B' * whiteningMatrix;	icaplot('dispsig',W);	drawnow;      end     otherwise    end        switch usedNlinearity      % pow3     case 10      B = (X * (( X' * B) .^ 3)) / numSamples - 3 * B;     case 11      % optimoitu - epsilonin kokoisia eroja      % t鋗

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲av一区二区三区久久| 日韩一区二区三区视频在线| 毛片av一区二区| 同产精品九九九| 午夜影院久久久| 日韩国产在线观看一区| 日本va欧美va精品发布| 免费人成在线不卡| 久久精品国产精品亚洲精品 | 久久亚区不卡日本| 久久夜色精品一区| 久久久久国产精品免费免费搜索| 欧美成人精精品一区二区频| 欧美xxxxxxxx| 欧美激情一二三区| 一区二区三区在线视频免费 | 欧美一级免费大片| 日韩欧美在线综合网| 久久精品亚洲麻豆av一区二区| 久久女同性恋中文字幕| 一区二区中文字幕在线| 亚洲一区二区四区蜜桃| 麻豆91精品91久久久的内涵| 国产精选一区二区三区| 成人app下载| 欧美性生活影院| 精品精品欲导航| 国产精品久久久久7777按摩| 亚洲国产视频在线| 国产又黄又大久久| 一本一道久久a久久精品综合蜜臀| 欧美天堂一区二区三区| 日韩精品一区二| 亚洲精品福利视频网站| 成人h动漫精品一区二区| 色欧美片视频在线观看在线视频| 欧美日韩亚洲综合| 国产三级欧美三级日产三级99 | 一区二区三区日本| 日韩高清欧美激情| 91老师片黄在线观看| 欧美成人一区二区三区片免费| 国产精品伦理一区二区| 日本亚洲免费观看| 99久久er热在这里只有精品15 | 久久久91精品国产一区二区精品 | 日韩精品一区二区三区四区| 国产精品久久久一区麻豆最新章节| 亚洲欧美一区二区不卡| 精品系列免费在线观看| 色呦呦一区二区三区| 久久久国产午夜精品| 午夜成人免费电影| 91精彩视频在线观看| 久久久亚洲精品一区二区三区| 香蕉久久夜色精品国产使用方法| 97精品电影院| 欧美韩国日本综合| 国产一二三精品| 欧美一区二区成人6969| 亚洲第一狼人社区| 99re66热这里只有精品3直播| 欧美精品一区二区三区四区| 婷婷丁香激情综合| 欧美日韩一区二区不卡| 亚洲视频电影在线| 成人av电影在线| 日韩专区中文字幕一区二区| 欧美三级视频在线| 亚洲狠狠爱一区二区三区| 99久久免费精品高清特色大片| 久久网站最新地址| 国产精品影音先锋| 久久久精品综合| 国产激情一区二区三区桃花岛亚洲| 4438成人网| 秋霞电影网一区二区| 3atv一区二区三区| 男女性色大片免费观看一区二区| 欧美天天综合网| 亚洲成人自拍偷拍| 欧美一区二区三区电影| 美洲天堂一区二卡三卡四卡视频| 日韩一级黄色片| 国内精品久久久久影院薰衣草| 91精品久久久久久蜜臀| 欧美三级乱人伦电影| 亚洲国产成人精品视频| 欧美卡1卡2卡| 老司机免费视频一区二区 | 久久99最新地址| 久久婷婷色综合| 国产99久久久精品| 中文字幕乱码日本亚洲一区二区 | 91福利在线看| 午夜免费久久看| 欧美电影精品一区二区| 成人污视频在线观看| 亚洲欧洲99久久| 制服丝袜一区二区三区| 韩国精品一区二区| 中文字幕日本不卡| 在线成人免费观看| 国产乱子伦一区二区三区国色天香| 久久精品一区二区三区av| 97精品视频在线观看自产线路二| 亚洲国产精品久久人人爱蜜臀 | 丁香激情综合五月| 亚洲综合色网站| 精品电影一区二区三区| www..com久久爱| 日本欧美大码aⅴ在线播放| 国产目拍亚洲精品99久久精品| 99精品视频中文字幕| 人人狠狠综合久久亚洲| 国产精品初高中害羞小美女文| 欧美三级日韩在线| 国产成人午夜电影网| 91国内精品野花午夜精品| 美女视频网站久久| 亚洲精品第1页| 久久精品人人做人人爽97| 欧美综合天天夜夜久久| 国产美女精品在线| 一区二区三区在线视频免费 | 在线不卡a资源高清| 高清成人在线观看| 麻豆成人av在线| 午夜一区二区三区视频| 国产精品美女视频| 2023国产精品自拍| 欧美一区二区三区在线| 91无套直看片红桃| 国产成人午夜99999| 久久不见久久见免费视频1| 亚洲一区二区中文在线| 亚洲色大成网站www久久九九| 亚洲精品在线观| 91精品婷婷国产综合久久性色| 色偷偷久久人人79超碰人人澡| 国产成人精品三级麻豆| 精品一区精品二区高清| 免费欧美日韩国产三级电影| 亚洲成人免费视频| 亚洲综合一二区| 亚洲一区在线观看免费观看电影高清| 中文字幕av资源一区| 欧美高清在线一区| 欧美高清在线视频| 欧美国产国产综合| 国产无一区二区| 中文乱码免费一区二区| 久久九九99视频| 欧美激情一区不卡| 亚洲欧洲国产日本综合| 最近日韩中文字幕| 樱花影视一区二区| 夜夜爽夜夜爽精品视频| 亚洲第一av色| 亚洲一区二区欧美| 国产不卡视频在线观看| 国产成人午夜视频| 91在线丨porny丨国产| 99久久国产综合精品女不卡| 色综合天天综合网天天狠天天| 色综合久久九月婷婷色综合| 欧美亚洲图片小说| 日韩欧美美女一区二区三区| 精品国产精品一区二区夜夜嗨| 亚洲精品一区二区精华| 国产精品国产三级国产aⅴ入口 | 麻豆专区一区二区三区四区五区| 麻豆成人在线观看| www.欧美色图| 欧美日韩dvd在线观看| 日韩欧美国产一区在线观看| 欧美成人a∨高清免费观看| 国产亚洲短视频| 亚洲最色的网站| 久久成人av少妇免费| 成人av综合一区| 精品视频在线视频| 国产亚洲人成网站| 亚洲国产成人高清精品| 国产一区二区三区视频在线播放| 国产69精品久久99不卡| 欧美精品在线观看一区二区| 久久综合久久99| 亚洲国产成人tv| 国产风韵犹存在线视精品| 一本一道综合狠狠老| 26uuu久久天堂性欧美| 亚洲激情图片qvod| 国产伦精一区二区三区| 欧美亚洲国产一区二区三区va | 一本久道久久综合中文字幕| 欧美一区二区三区喷汁尤物| 国产精品三级视频| 免费一级片91| 欧美在线你懂的|