• 大小: 11KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: Matlab
  • 标签: Parafac  

资源简介

想学 Parafac的有必要下载 一定会有帮助的

资源截图

代码片段和文件信息

function [AHCPfitAddiOutput]=parafac2(XFConstraintsOptionsAHCP);


%     ___________________________________________________
%
%                  THE PARAFAC2 MODEL
%     ___________________________________________________

%
%
% Algorithm to fit the PARAFAC2 model which is an advanced variant of the 
% normal PARAFAC1 model. It handles slab-wise deviations between components
% in one mode as long as the cross-product of the components stays 
% reasonably fixed. This can be utilized for modeling chromatographic 
% data with retention time shifts modeling certain batch data of 
% varying length etc. See Bro Kiers & Andersson Journal of Chemometrics
% 1999 13 295-309 for details on application and Kiers ten Berge & 
% Bro Journal of Chemometrics 1999 13 275-294 for details on the algorithm

%
% The PARAFAC2 model is given

% Xk = A*Dk*(Pk*H)‘ + Ek k = 1 .. K

% Xk is a slab of data (I x J) in which J may actually vary with K. K 
% is the number of slabs. A (I x F) are the scores or first-mode loadings. Dk 
% is a diagonal matrix that holds the k‘th row of C in its diagonal. C 
% (K x F) is the third mode loadings H is an F x F matrix and Pk is a
% J x F orthogonal matrix (J may actually vary from k to k. The output here
% is given as a cell array of size J x F x K. Thus to get e.g. the second P
% write P(::2) and to get the estimate of the second mode loadings at this
% second frontal slab (k = 2) write P(::2)*H. The matrix Ek holds the residuals.

% INPUT

% X
%   Holds the data.
%   If all slabs have similar size X is an array:
%      X(::1) = X1; X(::2) = X2; etc.  
%   If the slabs have different size X is a cell array (type <>)
%      X{1} = X1; X{2} = X2; etc.
%   If you have your data in an ‘unfolded‘ two-way array of size
%   I x JK (the three-way array is I x J x K) then simply type
%   X = reshape(X[I J K]); to convert it to an array.
%
% F
%   The number of components to extract

% Constraints
%   Vector of length 2. The first element defines constraints
%   imposed in the first mode the second defines contraints in
%   third mode (the second mode is not included because constraints
%   are not easily imposed in this mode)

%   If Constraints = [a b] the following holds. If 
%   a = 0 => no constraints in the first mode
%   a = 1 => nonnegativity in the first mode
%   a = 2 => orthogonality in the first mode
%   a = 3 => unimodality (and nonnegativity) in the first mode
%   same holds for b for the third mode
%
% Options
%   An optional vector of length 3
%   Options(1) Convergence criterion
%            1e-7 if not given or given as zero
%   Options(2) Maximal iterations
%            default 2000 if not given or given as zero
%   Options(3) Initialization method
%            A rather slow initialization method is used per default
%            but it pays to investigate in avoiding local minima.
%  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      33001  2010-08-02 11:05  parafac2.m

----------- ---------  ---------- -----  ----

                33001                    1


评论

共有 条评论