frdom.m

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

M
36
字号
function s=frdom(w,f)

%FRDOM	Row dominance of MVFR matrix.

%	FRDOM(W,F) returns the row dominance

%	of the component matrices of the MVFR matrix, F,

%	one row per frequency.

%	W is the associated frequency vector.

%

%	Row dominance for row i is

%	sum(abs(Fm(i,:))-abs(Fm(i,i)))/abs(Fm(i,i))

%	where Fm is the component matrix.

%	See also FCDOM,FRSOD,FCSOD



%	Dr M.P. Ford 4th August 1987

% Copyright (c) 1987 by GEC Engineering Research Centre & Cambridge Control Ltd

%	MRN0019

%       MRN0039



[m,n]=fsize(w,f);

lw=length(w);

if m~=n

  error('Not a square system');

end

s=ones(lw,m)*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,:))';   % Column dominance of the transpose

   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 + -
显示快捷键?