📄 dmulresp.m
字号:
function [iu,nargs,y,y2]=dmulresp(fun,a,b,c,d,Ts,t,nargo,bodeflag);
%DMULRESP Discrete multivariable response.
%
% [IU,NARGS,Y,Y2] = DMULRESP('fun',A,B,C,D,Ts,T,NARGO,BODEFLAG)
% Andy Grace 7-9-90
% Copyright (c) 1986-93 by the MathWorks, Inc.
[r,m]=size(d);
if r*m>1 % MIMO system
iu=0;
if nargo==0
clg
hold off
if r*m==2, sp=210; else sp=220; end
if r*m>4|bodeflag==1, disp('Strike any key after each screen'), end
scnt=0;
for i=1:m
if bodeflag==0,
for j=1:r
if scnt==4, pause, clg, scnt=0; end
scnt=scnt+1; subplot(sp+scnt)
if ~isempty(c), cj = c(j,:); end
if ~isempty(d), dj = d(j,:); end
eval([fun,'(a,b,cj,dj,Ts,i,t)']);
title(['Input ',int2str(i),' Output ',int2str(j)])
end
else
if scnt==4, pause, clg, scnt=0; end
scnt = scnt+4;
eval([fun,'(a,b,c,d,Ts,i,t)']);
title(['Input ', int2str(i)])
end
end
subplot(111)
else
y=[]; y2=[];
for i=1:m
% Force compile to recognize these variables:
phase =[]; mag = [];
if bodeflag==0
eval(['y=[y,',fun,'(a,b,c,d,Ts,i,t)];'])
else
eval(['[mag,phase]=',fun,'(a,b,c,d,Ts,i,t);'])
y=[y,mag]; y2=[y2,phase];
end
end
end
else % SISO systems
iu=1; nargs=5;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -