www.gusucode.com > robust 案例源码程序 matlab代码 > robust/ApproximatePlantModelByMultiplicativeErrorMethodExample.m
%% Approximate Plant Model by Multiplicative Error Method % In most cases, the multiplicative error model reduction method |bstmr| % tends to bound the relative error between the original and reduced-order % models across the frequency range of interest, hence producing a more % accurate reduced-order model than the additive error methods. This % characteristic is obvious in system models with low damped poles. % % The following commands illustrate the significance of a multiplicative % error model reduction method as compared to any additive error type. % Clearly, the phase-matching algorithm using |bstmr| provides a better fit % in the Bode plot. %% % Copyright 2015 The MathWorks, Inc. rng(123456); G = rss(30,1,1); % random 30-state model [gr,infor] = reduce(G,'Algorithm','balance','order',7); [gs,infos] = reduce(G,'Algorithm','bst','order',7); figure(1) bode(G,'b-',gr,'r--') title('Additive Error Method') legend('Original','Reduced') figure(2) bode(G,'b-',gs,'r--') title('Relative Error Method') legend('Original','Reduced') %% % Therefore, for some systems with low damped poles or zeros, the balanced % stochastic method (|bstmr|) produces a better reduced-order model fit in % those frequency ranges to make multiplicative error small. Whereas % additive error methods such as |balancmr|, |schurmr|, or |hankelmr| only % care about minimizing the overall "absolute" peak error, % they can produce a reduced-order model missing those low damped % poles/zeros frequency regions.