⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ftfixfom.m

📁 Tucker, PARAFAC, GRAM, RAFA and misc. 2nd order models with a test data set (old version now covered
💻 M
字号:
function [Znew]=ftfixfom(Zold,oldmode,newmode,r1,r2,r3)
%function [Znew]=ftfixfom(Zold,oldmode,newmode,r1,r2,r3);
%
%    r3 _______             
%      /      /|           1      r2    2穜2   r3穜2
%     /______/ |         1  _____________________
%    |      |  |           |      |      |      |
%    |      | /    -->     |      |      |      |        Mode 1
% r1 |______|/          r1 |______|______|______|
%           r2
%
%                          1      r3    2穜3   r1穜3
%                        1  _____________________
%                          |      |      |      |
%                  -->     |      |      |      |        Mode 2
%                       r2 |______|______|______|
%
%  
%                          1      r1    2穜1   r2穜1
%                        1  _____________________
%                          |      |      |      |
%                  -->     |      |      |      |        Mode 3
%                       r3 |______|______|______|
%  
% Author   : Claus A. Andersson, April 1995
% Copyright: Food Technology,
%            Royal Veterinary & Agricultural University
%            Copenhagen, Denmark
% E-mail   : claus.andersson@pop.foodsci.kvl.dk

%From fronts under each other to fronts besides each other
if oldmode==-2,         
  Znew=zeros(r1,r2*r3);
  for p=1:r3,
    Znew(1:r1,(p-1)*r2+1:p*r2)=Zold((p-1)*r1+1:p*r1,1:r2);
  end;
end;

%From fronts besides each other to fronts under each other          
if oldmode==-1,
  Znew=zeros(r1*r3,r2);
  for p=1:r3,
    Znew((p-1)*r1+1:p*r1,1:r2)=Zold(1:r1,(p-1)*r2+1:p*r2);
  end;
end;

%
if oldmode==1,
  if newmode==2,
    Znew=reshape(Zold',r2,r1*r3);
  end;                            
  if newmode==3,                  
    Znew=reshape(Zold,r1*r2,r3)';
  end;
end;

%
if oldmode==2,
  if newmode==1,
    Znew=reshape(Zold,r2*r3,r1)';
  end;  
  if newmode==3,
    Znew=reshape(Zold',r3,r1*r2);
  end;
end;

%
if oldmode==3,
  if newmode==1,
    Znew=reshape(Zold',r1,r2*r3);
  end;  
  if newmode==2,
    Znew=reshape(Zold,r1*r3,r2)';  
  end;
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -