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

📄 unfoldmw.m

📁 PLS_Toolbox是用于故障检测与诊断方面的matlab工具箱
💻 M
字号:
function mwauf = unfoldmw(mwa,order)
%UNFOLDMW Unfolds multiway arrays along specified order
%  The inputs are the multiway array to be unfolded (mwa),
%  and the dimension number along which to perform the
%  unfolding (order). The output is the unfolded array (mwauf).
%  This function is used in the development of PARAFAC models
%  in the alternating least squares steps.
%
%I/O: mwauf = unfoldmw(mwa,order);
%
%See also: MPCA, OUTER, OUTERM, PARAFAC, TLD

%Copyright Eigenvector Research, Inc. 1998
%bmw

mwasize = size(mwa);
ms = mwasize(order);
po = prod(mwasize);
ns = po/ms;
if order ~= 1
  pod = prod(mwasize(1:order-1));
end
mwauf = zeros(ms,ns);
for i = 1:ms
  if order == 1
    mwauf(i,:) = mwa(i:ms:po);
  else
    inds = zeros(1,ns); k = 1; fi = (i-1)*pod + 1;
	for j = 1:ns/pod
	  inds(k:k+pod-1) = fi:fi+pod-1;
	  fi = fi + ms*pod;
	  k = k + pod;
	end
	mwauf(i,:) = mwa(inds);
  end
end

⌨️ 快捷键说明

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