资源简介
张量分解工具包 高维数据SVD分解 多重因子分析的工具

代码片段和文件信息
function [G]=calcore(XFactorsOptionsOMissingExist);
%CALCORE Calculate the Tucker core
%
%
% [G]=calcore(XFactorsOptions);
% [G]=calcore(XFactors);
%
% This algorithm applies to the general N-way case so
% the unfolded X can have any number of dimensions. The principles of
% ‘projections‘ and ‘systematic unfolding methodology (SUM)‘ are used
% in this algorithm so orthogonality is required.
% This algorithm can handle missing values in X and
% also allows for TUCKER2 models using the an empty matrix in the
% corresponding cell of Factors.
% The variable ‘Factors‘ must contain the stringed-out factors.
% Copyright (C) 1995-2006 Rasmus Bro & Claus Andersson
% Copenhagen University DK-1958 Frederiksberg Denmark rb@life.ku.dk
%
% This program is free software; you can redistribute it and/or modify it under
% the terms of the GNU General Public License as published by the Free Software
% Foundation; either version 2 of the License or (at your option) any later version.
%
% This program is distributed in the hope that it will be useful but WITHOUT
% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
% FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
% You should have received a copy of the GNU General Public License along with
% this program; if not write to the Free Software Foundation Inc. 51 Franklin
% Street Fifth Floor Boston MA 02110-1301 USA.
format compact
format long
DimX = size(X);
X = reshape(XDimX(1)prod(DimX(2:end)));
ff = [];
for f=1:length(Factors)
ff=[ff;Factors{f}(:)];
Fac(f)=size(Factors{f}2);
if isempty(Factors{f}) % ‘Tucker2‘ - i.e. no compression in that mode
Fac(f) = -1;
end
end
Factors = ff;
% Initialize system variables
if length(Fac)==1
Fac=Fac*ones(size(DimX));
end;
Fac_orig=Fac;
i=find(Fac==-1);
Fac(i)=zeros(1length(i));
N=size(Fac2);
FIdx0=zeros(1N);
FIdx1=zeros(1N);
if ~exist(‘MissingExist‘)
if sum(isnan(X(:)))>0
MissingExist=1;
else
MissingExist=0;
end;
end;
FIdx0=cumsum([1 DimX(1:N-1).*Fac(1:N-1)]);
FIdx1=cumsum([DimX.*Fac]);
if ~exist(‘O‘) | isempty(O)
O=1;
end;
if O %means orthogonality
CurDimX=DimX;
RedData=X;
for c=1:N
if Fac_orig(c)==-1
kthFactor=eye(DimX(c));
CurDimX(c)=DimX(c);
else
kthFactor=reshape(Factors(FIdx0(c):FIdx1(c))DimX(c)Fac(c));
CurDimX(c)=Fac(c);
end;
if MissingExist
RedData=missmult(kthFactor‘RedData);
else
RedData=kthFactor‘*RedData;
end;
if c~=N
newi=CurDimX(c+1);
newj=prod(CurDimX)/CurDimX(c+1);
else
newi=CurDimX(1);
newj=prod(CurDimX)/CurDimX(1);
end;
RedData=reshape(RedData‘newinewj);
end;
G=RedData;
else %oblique factors
LMatTmp=1;
if Fac_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1616 2007-05-09 19:44 ver3.1\brod.mat
文件 3718 2007-05-09 19:43 ver3.1\calcore.m
文件 1348 2007-05-15 08:31 ver3.1\ckron.m
文件 492152 2007-05-09 19:44 ver3.1\claus.mat
文件 667 2007-05-09 19:43 ver3.1\cmatrep.m
文件 154 2007-05-09 19:43 ver3.1\complpol.m
文件 4580 2007-07-15 22:12 ver3.1\contents.m
文件 7557 2007-05-09 19:43 ver3.1\corcond.m
文件 1405 2007-05-09 19:43 ver3.1\coredian.m
文件 1856 2007-05-09 19:43 ver3.1\coreswdn.m
文件 1294 2007-05-09 19:43 ver3.1\corevarn.m
文件 1417392 2007-05-09 19:44 ver3.1\dataset1.mat
文件 1403840 2007-05-09 19:44 ver3.1\dataset1res.mat
文件 1564496 2007-05-09 19:44 ver3.1\dataset2res.mat
文件 1565536 2007-05-09 19:44 ver3.1\dataset3res.mat
文件 640 2007-05-09 19:43 ver3.1\def.mat
文件 1310 2007-05-09 19:43 ver3.1\demos.m
文件 2770 2007-05-09 19:43 ver3.1\derdia3.m
文件 3069 2007-05-09 19:43 ver3.1\derswd3.m
文件 4067 2007-05-09 19:43 ver3.1\dervar3.m
文件 2870128 2007-05-09 19:44 ver3.1\dorrit.mat
文件 3538 2007-08-07 12:17 ver3.1\dtld.m
文件 2298 2007-05-09 19:43 ver3.1\explcore.m
文件 1753 2007-05-09 19:43 ver3.1\fac2let.m
文件 2684 2007-05-09 19:43 ver3.1\fastnnls.m
文件 7124 2007-05-09 19:43 ver3.1\fnipals.m
文件 2920 2007-05-09 19:43 ver3.1\fnnls.m
文件 1084 2007-05-09 19:43 ver3.1\getindxn.m
文件 3283 2007-08-07 12:17 ver3.1\gram.m
文件 1815 2007-05-09 19:43 ver3.1\gsm.m
文件 8576 2007-05-09 19:44 ver3.1\howto1.mat
............此处省略58个文件信息
- 上一篇:小巧的螺旋桨设计软件
- 下一篇:CAD转excel神器
相关资源
- 编程实现二维DCT变换
- 图像二值化
- 用FFT对信号进行频谱分析
- Tone-Reservation
- QGA 量子遗传算法
- 差分形式的阻滞增长模型
- 遗传算法的M文件
- 使用晶格QCD在物理小子质量上的核子
- QCD中张量介子的电产生
- 简单二阶互联系统的非线性动力学分
- 普通张量模型中的不变算子,正交基
- 手写数字识别-模板匹配法
- Stock_Watson_动态因子分析模型
- 果蝇优化算法优化支持向量回归程序
- 自己做的一个简单GUI扑克纸牌识别-
- multi output SVR
- AR过程的线性建模过程与各种功率谱估
- PCNN TOOLBOX
- plstoolbox.zip
- 中国国家基础地理信息系统GIS数据
- 粒子群微电网优化调度
- 矩阵分析-经典教材-中文版-Roger.A.Ho
- 压缩感知TwIST
- 基于最小错误率的贝叶斯手写数字分
- 最全系统辨识源代码,包括多种最小
- 导弹制导实验
- 画跟踪精确度图的程序.zip
- 重力场大地水准面及重力异常阶次误
- prtools5.2.3工具包
- 脉冲耦合神经网络工具箱PCNN-toolbox
评论
共有 条评论