好文档 - 专业文书写作范文服务资料分享网站

(完整版)Matlab中Bode图的绘制技巧(精)

天下 分享 时间: 加入收藏 我要投稿 点赞

Matlab中Bode图的绘制技巧

我们经常会遇到使用 Matlab画伯德图的情况,可能我们我们都知道 bode这个函数是用来画

bode图的,这个函数是 Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对 于初学者来说,可

能用起来就没有那么方便了。

譬如我们要画岀下面这个传递函数的伯德图:

1.576e010 sA2

H(s= ..........................................................................................................

sA4 + 1.775e005 sA3 + 1.579e010 sA2 + 2.804e012 s + 2.494e014

(这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。

我们可以用下面的语句:

num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010

2.804e012

2.494e014];

H=tf( num,de n; bode(H

这样,我们就可以得到以下的伯德图:

可能我们会对这个图很不满意,第一,它的横坐标是 rad/s,而我们一般希望横坐标是

横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上

on解决)。

F面,我们来看看如何定制我们自己的伯德图风格:

在命令窗口中输入:

bodeoptio ns

;第二,

gridHZ

我们可以看到以下内容:

ans =

Title: [1x1 struct] XLabel: [1x1 struct] YLabel: [1x1 struct] TickLabel: [1x1 struct] Grid: 'off' XLim: {[1 10]} XLimMode: {'auto'} YLim: {[1 10]} YLimMode: {'auto'} IOGrouping: 'none' InputLabels: [1x1 struct] OutputLabels: [1x1 struct] InputVisible: {'on'} OutputVisible: {'on'} FreqUnits: 'rad/sec' FreqScale: 'log' MagUnits: 'dB'

MagScale: 'linear' MagVisible: 'on' MagLowerLimMode: 'auto' MagLowerLim: 0 PhaseUnits: 'deg' PhaseVisible: 'on' PhaseWrapping: 'off'

PhaseMatchi ng: 'off' PhaseMatchi ngFreq: 0 PhaseMatchi ngValue: 0

我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图:

P=bodeopti ons; P.Grid='o n'; P.XLim={[10

40000]};

P.XLimMode={'ma nual'}; P.Freq Un its='HZ'; num=[1.576e010 0 den=[1 1.775e005 H=tf( num,de n; bode(H,P

这时,我们将会看到以下的伯德图:

0]; 1.579e010

2.804e012

2.494e014];

上面这张图相对就比较好了,它的横坐标单位是 们观察-3DB处的频率值。

HZ,范围是[10 40K]HZ,而且打开了网格,便于我

当然,你也可以改变 bodeoptions中的其它参数,做岀符合你的风格的伯德图。

是这样的,运行命令 ctrlpref,出现控制系统工具箱的设置页面, Units改为Hz就好了

(完整版)Matlab中Bode图的绘制技巧(精)

Matlab中Bode图的绘制技巧我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。譬如我们要画岀下面这个传递函数的伯德图:
推荐度:
点击下载文档文档为doc格式
8xj5m4b0fp9lpyv23wwc1symv1jox5007ae
领取福利

微信扫码领取福利

微信扫码分享