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

📄 fsvanf.m

📁 控制系统计算机辅助设计——MATLAB语言与应用(源代码)
💻 M
字号:
function resp = fsvanf(w,g,h,k);
%FSVANF Performance and robustness measures with arbitrary feedback.
%        [RESP] = FSVANF(W,G,H,K)     (K optional)
%
% See FSVANF in the MFD reference manual. G is an MVFR matrix of the 
% compensated plant, K represents a pre-compensator and H is a feedback 
% matrix. W is the associated frequency vector for G and K. 
%
% FSVANF returns a matrix, RESP, with 9 columns.
%  1: Max singular value of transmission from 'd' to the plant outputs.
%  2: Max singular value of transmission from 'n' to the plant outputs.
%  3: Max singular value for tracking error = (y-r)/r.
%  4: Max singular value of transmission from 'r' to the plant inputs.
%  5: The maximum singular value of an unstructured additive perturbation
%     for which closed loop stability can be guaranteed. (Also see 8)
%  6: The maximum singular value of an unstructured input multiplicative
%     perturbation for which closed loop stability can be guaranteed.
%  7: The maximum singular value of an unstructured output multiplicative
%     perturbation for which closed loop stability can be guaranteed.
%  8: As 5, but less conservative.
%  9: Max singular value of transmission from plant input to output.

% J-M. Boyle, 8th September 1987. Modified by J.M.Maciejowski, 9 May 1989.
% Copyright (c) 1987 by GEC Engineering Research Centre & Cambridge Control Ltd.
%       MRN0019, MRN0028

nargs=nargin;
error(nargchk(3,4,nargs));
[mg,ng] = fsize(w,g);
[mh,nh] = fsize(w,h);
if nargs == 3                % G and H non-unity.
  if (ng~=mh) | (nh~=mg)
     error('G*H and H*G must both be square (K = I).')
  end
  k = eyef(w,ng);                   % K = I.
else
  [mk,nk]=fsize(w,k);
  if nk~=mh
     error('Rows of H not equal to columns of K.')
  end
  if mk~=ng
     error('Rows of K not equal to columns of G.')
  end
  if nh~=mg
     error('Rows of G not equal to columns of H.')
  end
end % 3 input arguments

% Call the utility function FSVUT to calculate the performance
% and robustness measures.

[dv,nv,tv,uv,av,miv,mov,av2,div] = fsvut(w,g,k,h);
resp = [dv,nv,tv,uv,av,miv,mov,av2,div];

⌨️ 快捷键说明

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