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

📄 modred.m

📁 数字通信第四版原书的例程
💻 M
字号:
function [ab,bb,cb,db] = modred(a,b,c,d,elim)
%MODRED Model state reduction.
%	[Ab,Bb,Cb,Db] = MODRED(A,B,C,D,ELIM) reduces the order of a model
%	by eliminating the states specified in vector ELIM.  The state
%	vector is partioned into X1, to be kept, and X2, to be eliminated,
%
%		A = |A11  A12|		B = |B1|	C = |C1 C2|
%		    |A21  A22|		    |B2|
%		.
%		x = Ax + Bu,   y = Cx + Du
%
%	The derivative of X2 is set to zero, and the resulting equations
%	solved for X1.  The resulting system has LENGTH(ELIM) fewer states
%	and can be envisioned as having set the ELIM states to be 
%	infinitely fast.
%
%	See also BALREAL and DMODRED

%	J.N. Little 9-4-86
%	Copyright (c) 1986-93 by the MathWorks, Inc.

error(abcdchk(a,b,c,d));

% Form keep vector:
[ns,nu] = size(b);
keep = 1:ns;
keep(elim) = [];

% Partition into x1, to be kept, and x2, to be eliminated:
a11 = a(keep,keep);
a12 = a(keep,elim);
a21 = a(elim,keep);
a22 = a(elim,elim);
b1  = b(keep,:);
b2  = b(elim,:);
c1  = c(:,keep);
c2  = c(:,elim);

% Form final reduced matrices
ab  = a11 - a12/a22*a21;
bb  = b1 - a12/a22*b2;
cb  = c1 - c2/a22*a21;
db  = d - c2/a22*b2;

⌨️ 快捷键说明

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