fcdom.m

来自「包含大量遗传算法程序」· M 代码 · 共 35 行

M
35
字号
function s=fcdom(w,f)
%FCDOM  Column dominance of MVFR matrix.
%       FCDOM(W,F) returns the column dominance
%       of the component matrices of the MVFR matrix, F,
%       one row per frequency.
%       W is the associated frequency vector.
%
%       Column dominance for column i is
%       sum(abs(Fm(:,i)))-abs(Fm(i,i)))/abs(Fm(i,i)
%       where Fm is the component matrix.
%       See also FRDOM,FCSOD,FRSOD

%       Dr M.P. Ford 4th August 1987
% Copyright (c) 1987 by GEC Engineering Research Centre & Cambridge Control Ltd
% MRN0039

[m,n]=fsize(w,f);
lw=length(w);
if m~=n
  error('Not a square system');
end
s=ones(lw,n)*inf;   % Set up output matrix
k=1:m;             % vector of rows of each matrix in F
for i=1:lw          % for each frequency
   fm=abs(f(k+(i-1)*m,:));
   if all(diag(fm)~=0),       % This shouldn't be necessary, but VAXes don't
     s(i,:)=(sum(fm)-diag(fm)')./(diag(fm)');        % like divides by zero.
   elseif any(diag(fm)~=0),
     nonzero = find(diag(fm)~=0);
     diagrow = diag(fm(nonzero,nonzero))';
     s(i,nonzero)=(sum(fm(:,nonzero))-diagrow)./diagrow;
   end
end % for i=1:lw

⌨️ 快捷键说明

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