www.gusucode.com > rctobsolete 工具箱 matlab源码程序 > rctobsolete/mutools/commands/strunc.m
% function sysout = strunc(sys,ord) % % Truncates the state dimension of a SYSTEM % matrix to ORD states, by eliminating rows % and columns of the state matrices. % % See also: HANKMR, REORDSYS, SRESID, and SYSBAL. % Copyright 1991-2004 MUSYN Inc. and The MathWorks, Inc. function sysout = strunc(sys,ord) if nargin ~= 2 disp(['usage: sysout = strunc(sys,ord)']); return end if isempty(ord) return end if ord < 0 | (floor(ord) ~= ceil(ord)) error(['ord should be a nonnegative integer']) return end [mtype,mrows,mcols,mnum] = minfo(sys); if mtype == 'syst' if ord > mnum ord = mnum end sysout = sys([1:ord mnum+1:mnum+mrows+1],[1:ord mnum+1:mnum+mcols+1]); sysout(1,ord+mcols+1) = ord; else error(['input matrix is not a SYSTEM matrix']) return end % %