十:使用MATLAB传递函数的绘制伯德图

最先介绍的是函数bodelogspace。其中bode用于绘制伯德图,函数logspace用于生成对数刻度的频率点向量,可以供函数bode使用。

伯德图

一个简单的例子:

十:使用MATLAB传递函数的绘制伯德图_第1张图片

其伯德图包含对数幅频增益曲线和相频特性曲线,如图

十:使用MATLAB传递函数的绘制伯德图_第2张图片

使用命令:

>> w = logspace(-1,3,200);
>> num = 5*[0.1 1];
>> f1 = [1 0];
>> f2 = [0.5 1];
>> f3 = [1/2500 0.6/50 1];
>> den = conv(f1,conv(f2,f3));
>> sys = tf(num,den)

sys =
 
                 0.5 s + 5
  ---------------------------------------
  0.0002 s^4 + 0.0064 s^3 + 0.512 s^2 + s
 
Continuous-time transfer function.

>> bode(sys,w)

解释

  • logspace命令在0.1和1000之间生成200个频率点,如果没有事先给定频率向量,函数bode则自动选取参与运算的频率点,并且能在频率响应变化较快的时候,自动加大频率点的选取密度;当指定了了频率向量,可以使用logspace生成所需的频率数据。

    w = logspace(-1,3,200)
    

十:使用MATLAB传递函数的绘制伯德图_第3张图片

  • 分子多项式系数

    num = 5*[0.1 1];
    
  • 因为分母是多个简单多项式的乘积,所以可以使用卷积命令conv来求乘积后的多项式系数

    >> f1 = [1 0];
    >> f2 = [0.5 1];
    >> f3 = [1/2500 0.6/50 1];
    >> den = conv(f1,conv(f2,f3));
    

    可以看到系数有五项,这显然是一个四阶系统

    den =
    
        0.0002    0.0064    0.5120    1.0000         0
    
  • 绘制bode

     bode(sys,w)
    

十:使用MATLAB传递函数的绘制伯德图_第4张图片

bode参数

以上的第一个参数是传递函数模型,bode命令也支持状态空间模型表示的系统。

十:使用MATLAB传递函数的绘制伯德图_第5张图片

你可能感兴趣的:(控制理论MATLAB教程,笔记,matlab)