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

📄 fsgb.m

📁 控制系统计算机辅助设计——MATLAB语言与应用(源代码)
💻 M
字号:
function k=fsgb(w,f,index,gains);
%FSGB   Normalizes system and manipulates singular values.
%       FSGB(W,F,index) calculates a constant pre-compensator K,
%       that normalizes the system at the frequency W(index) and
%       balances all the singular values of F(index)*K to the maximum
%       singular value of F at W(index).
%
%       FSGB(W,F,index,Gains) calculates a constant pre-compensator
%       K, that normalizes the system at the frequency W(index) and
%       multiplies the singular values of F(index)*K by Gains*svd(F(index)).
%       Where Gains is a vector of the same length as svd(F(index)).
%
%       Note the K returned may be complex. It is up to the designer
%       to decide if the real or the imaginary part should be used for
%       the pre-compensator.

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

nargs = nargin;            % Perform error checking on the number of
error(nargchk(3,4,nargs)); %  input arguments.

[fc,wc]=fgetf(w,f,index);  % Pick out the required component matrix
[yf, sf, uf] = svd(fc);    % Perform a singular value decomposition
			   %  at the required frequency.
if nargs <= 4
  gain= sf(1,1);           % If GAINS is not given, the gain added to
  gain = inv(sf./gain);    % each locus is calculated.
end

if nargs == 4              % Form GAINS into a diagonal matrix
  gain = diag(gains);
end

% Form the compensator.
k = uf * gain * yf';       % Calculate the resulting compensator.

⌨️ 快捷键说明

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