fcost.m

来自「MFD-多变量系统频域设计工具」· M 代码 · 共 45 行

M
45
字号
function c=fcost(w,f,i,k,n)
%FCOST  Generate column Ostrowski circles.
%
%       points = fcost(w,f,iu,k)
%       points = fcost(w,f,iu,k,n)
%
%       FCOST(W,F,iu,k) calculates the column Ostrowski circles 
%       for column iu of the MVFR matrix, F, and returns one 
%       column per frequency which contains the points on the 
%       circle at that frequency.
%       k is a vector of gains, one for each feedback gain.
%
%       FCOST(W,F,iu,k,n) calls FCOMP(W,F,n) before
%       calculating the column Ostrowski circles for column iu.

%       P. Phaal, November 1987
% Copyright (c) 1987 by GEC Engineering Research Centre & Cambridge Control Ltd

nargs=nargin;
error(nargchk(4,5,nargs));
if nargs==5
   [f,w]=fcomp(w,f,n);
end

cent=fdiag(w,f);
rad=fcsod(w,f);

[rows,cols] = size(cent);

for r = 1:rows
  for ci = 1:cols
    max = 0;
    for cj = 1:cols
      if cj ~= ci
	val = rad(r,cj)/abs(k(cj)+cent(r,cj));
	if val > max
	  max = val;
	end
      end
    end
    rad(r,ci) = rad(r,ci)*max;
  end
end
c=circ(cent(:,i),rad(:,i),31);

⌨️ 快捷键说明

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