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

📄 frnmat.m

📁 MFD-多变量系统频域设计工具
💻 M
字号:
function [d,rsigma]=frnmat(w,f)

%FRNMAT	Calculates the normalized row dominance scalings.

%	FRNMAT(W,F) returns an MVFR matrix of real positive diagonal

%	pre-multiplier matrices which scale Fm so that the row

%	diagonal dominance of Fm*Dm are normalize to the same value.

%	Fm and Dm are the component matrices of F and D respectively.

%	W is the associated frequency vector.

%

%	[D,Rsigma]=FRNMAT(W,F) also returns the normalized row

%	sigmas in the column vector Rsigma.

%

%	To check the row dominance use

%	  plotdb(w,frdom(w,fmulf(w,f,d)))

%	The stability similarity transformation is    Dm^(-1) * Fm * Dm

%	  fmulf(w,finv(w,d),fmulf(w,f,d))

%

%	See also FCNMAT,FRDOM,FCDOM



%	Dr M.P. Ford 22nd August 1987

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

%	MRN0019



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

if m~=n

   error('System is not square')

end

f=abs(f);

lw=length(w);

k=1:m;

d=[];

rsigma=[];

for i=0:lw-1

  fm=f(k+m*i,:);  % break up f into matrices

  fd=diag(fm);

  fm=fm-diag(fd);       %  make the diagonals zero

  fd=diag(fd.^(-1));    %  make 1/diagonal

  [di,v]=eig(fd*fm);

  [sigma,i]=max(max(v));     % max eigenvalue

  if (sigma<=0) | any(di(:,i)<=0)

      error('System is not Irreducible')

  end

  d=[d;diag(di(:,i))];

  rsigma=[rsigma;sigma];

end



⌨️ 快捷键说明

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