📄 dbalreal.m
字号:
function [ab,bb,cb,m,T] = dbalreal(a,b,c)
%DBALREAL Discrete balanced state-space realization and model reduction.
% [Ab,Bb,Cb] = DBALREAL(A,B,C) returns a balanced state-space
% realization of the system (A,B,C).
%
% [Ab,Bb,Cb,M,T] = DBALREAL(A,B,C) also returns a vector M
% containing the diagonal of the gramian of the balanced realization
% and matrix T, the similarity transformation used to convert
% (A,B,C) to (Ab,Bb,Cb). If the system (A,B,C) is normalized
% properly, small elements in gramian M indicate states that can be
% removed to reduce the model to lower order.
%
% See also DMODRED, BALREAL and MODRED.
% J.N. Little 3-6-86
% Copyright (c) 1986-93 by the MathWorks, Inc.
Gc = dgram(a,b);
Go = dgram(a',c');
R = chol(Gc);
% [V,D] = eig(R*Go*R');
% Fix because symmetric matrix does not have orthogonal eigenvalues
[u,D,V] = svd(R*Go*R');
D = D.*sign(u'*V);
T = R'*V*diag(diag(D).^(-.25));
ab = T\a*T;
bb = T\b;
cb = c*T;
if nargout > 3
m = diag(dgram(ab,bb))';
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -