coreswdn.m

来自「多维数据处理:MATLAB源程序用于处理多维数据」· M 代码 · 共 42 行

M
42
字号
function [SWD_Rel,SWD_Abs]=CoreSWDn(C,W)
%[SWD_Rel,SWD_Abs]=CoreSWDn(C,W)
%
%Calculates the 'core-slice-wise-diagonality'.
%To make sense the core C should be quadratic over
%at least two modes. The last mode will always be used.
%
%[SWD_Rel,SWD_Abs]=CoreSWDn(C,W)
%
%SWD_Rel : Slice-wise diagonality in percent
%SWD_Abs : Absolute sum of squares of
%          the slice-wise diagonal elements 
%
% Claus Andersson

c=size(W,2);
d=ones(1,c-1);

C=C.^2;

SWD_Abs=0;
if c==3,
   for k=1:W(3);
      tmp_1 = W(2)*(k-1);
      for j=1:W(1),
         ja = j + tmp_1;
         SWD_Abs = SWD_Abs + C(j,ja);
      end;
   end;
else
   for k=1:W(c);
      for j=1:W(1),
         [ia,ja]=GetIndxn(W,[j*d k]);
         SWD_Abs = SWD_Abs + C(ia,ja);
      end;
   end;
end;

SWD_Rel=100*SWD_Abs/sum(sum(C));


⌨️ 快捷键说明

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