MATLAB 帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
计算特定频率下的系统响应
frsp = evalfr(sys,x)
evalfr 是 freqresp 的简化版本,用于快速计算复平面中任意点的系统响应。要计算一组频率下的系统响应,请使用 freqresp。要获取幅值和相位数据以及频率响应图,请使用 bode。
evalfr
freqresp
bode
frsp = evalfr(sys,x) 计算动态系统模型 sys 在 s 复平面(对于连续时间 sys)或 z 复平面(对于离散时间 sys)中的点 x 处的响应。
frsp
sys
x
示例
全部折叠
此示例使用:
创建以下离散时间传递函数。
H(z)=z-1z2+z+1
H = tf([1 -1],[1 1 1],-1);
计算在 z = 1+j 处的该传递函数。
z = 1+j
z = 1+j; evalfr(H,z)
ans = 0.2308 + 0.1538i
创建以下连续时间传递函数模型:
H(s)=1s2+2s+1
sys = idtf(1,[1 2 1]);
计算频率为 0.1 rad/s 时的该传递函数。
w = 0.1; s = j*w; evalfr(sys,s)
ans = 0.9705 - 0.1961i
或者,使用 freqresp 命令。
freqresp(sys,w)
对于此示例,假设有一个立方体绕其角旋转,惯量张量为 J,阻尼力 F 大小为 0.2。系统的输入是驱动扭矩,而输出是角速度。立方体的状态空间矩阵如下:
J
F
A=-J-1F,B=J-1,C=I,D=0,where,J=[8-3-3-38-3-3-38]andF=[0.20000.20000.2]
指定 A、B、C 和 D 矩阵,并创建连续时间状态空间模型。
A
B
C
D
J = [8 -3 -3; -3 8 -3; -3 -3 8]; F = 0.2*eye(3); A = -J\F; B = inv(J); C = eye(3); D = 0; sys = ss(A,B,C,D); size(sys)
State-space model with 3 outputs, 3 inputs, and 3 states.
计算系统频率为 0.2 rad/s 时的频率响应。由于 sys 是连续时间模型,因此需用拉普拉斯变量 s 来表示频率。
s
w = 0.2; s = j*w; frsp = evalfr(sys,s)
frsp = 3×3 complex 0.3607 - 0.9672i 0.3197 - 0.5164i 0.3197 - 0.5164i 0.3197 - 0.5164i 0.3607 - 0.9672i 0.3197 - 0.5164i 0.3197 - 0.5164i 0.3197 - 0.5164i 0.3607 - 0.9672i
您也可以使用 freqresp 命令来直接根据频率的标量值计算频率响应。
H = freqresp(sys,w)
H = 3×3 complex 0.3607 - 0.9672i 0.3197 - 0.5164i 0.3197 - 0.5164i 0.3197 - 0.5164i 0.3607 - 0.9672i 0.3197 - 0.5164i 0.3197 - 0.5164i 0.3197 - 0.5164i 0.3607 - 0.9672i
动态系统,指定为 SISO 或 MIMO 动态系统模型或动态系统模型数组。您可以使用的动态系统包括:
LTI 模型,如 ss (Control System Toolbox)、tf (Control System Toolbox) 和 zpk (Control System Toolbox) 模型。
ss
tf
zpk
稀疏状态空间模型,如 sparss (Control System Toolbox) 或 mechss (Control System Toolbox) 模型。
sparss
mechss
广义或不确定状态空间模型,如 genss (Control System Toolbox) 或 uss (Robust Control Toolbox) 模型。(使用不确定模型需要 Robust Control Toolbox™ 软件。)
genss
uss
对于可调控制设计模块,该函数根据模型的当前值计算频率响应。
对于不确定的控制设计模块,该函数根据模型的标称值和随机样本计算频率响应。
辨识的状态空间模型,如 idss 模型。
idss
有关模型的完整列表,请参阅动态系统模型。
复平面中用于计算系统响应的点,指定为复标量。对于连续时间 sys,点 x 位于连续时间拉普拉斯变量 s 的平面中。对于离散时间 sys,x 位于离散时间拉普拉斯变量 z 的平面中。
要计算系统在特定频率下的响应,请用相应的拉普拉斯变量指定该频率。例如,如果您想计算系统 sys 在频率值为 w rad/s 时的频率响应,请使用:
w
x = j*w(对于连续时间 sys)。
x = j*w
z = exp(j*w*Ts)(对于离散时间 sys),其中 Ts 是采样时间。
z = exp(j*w*Ts)
Ts
系统在点 x 处的频率响应,以复数标量(对于 SISO sys)或复数数组(对于 MIMO sys)形式返回。对于 MIMO 系统,数组维度与 sys 的 I/O 维度相对应。
在 R2012a 中推出
bode | freqresp | sigma (Control System Toolbox)
sigma
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处