www.gusucode.com > rctutil 工具箱 matlab源码程序 > rctutil/+rctutil/freqresp.m
function h = freqresp(a,b,c,d,Ts,freqs) % Fast frequency response evaluation at a few points. % Copyright 2004-2015 The MathWorks, Inc. nf = numel(freqs); [ny,nu] = size(d); nx = size(a,1); h = zeros(ny,nu,nf); if Ts>0 freqs = Ts*freqs; freqs = complex(cos(freqs),sin(freqs)); else freqs = complex(0,freqs); end for ct=1:nf s = freqs(ct); if isinf(s) h(:,:,ct) = d; else if ny>nu fresp = d + c * ((s*eye(nx)-a)\b); else fresp = d + (c/(s*eye(nx)-a)) * b; end if hasInfNaN(fresp) h(:,:,ct) = Inf; else h(:,:,ct) = fresp; end end end