(完整版)使用simulinkbode图的绘制

(完整版)使用simulinkbode图的绘制
(完整版)使用simulinkbode图的绘制

在Matlab中,大多时候,我们都是用M语言,输入系统的传递函数后,用bode函数绘制bode图对系统进行频率分析,这样做,本人觉得效率远不如Simulink建模高。如何在Matlab/Simulink中画bode图,以前也在网上查过些资料,没看到太多有用的参考。今天做

助教课的仿真,又要画电机控制中电流环的bode图,模型已经建好,step response也很容易看出来,可这bode图怎么也出不来,又不愿意用m语言写出传递函数再画。baidu和google 了好一阵,几乎没有一个帖子说的清清楚楚的,经过一番摸索,终于掌握了Simulink里画bode图的方法。.其实,Simulink里画bode图,非常的easy,也很方便。写此文的目的是希

望对那些常用Simulink进行仿真希望画bode图又不愿用M语言的新手有所帮助。

以下均是以Matlab R2008a为例。

首先,在simulink里建好model。如图1,这里需要注意的是,输入和输出要用input port 和output port,这样以后画bode图的时候,系统就会知道是这两个变量之间的关系。

图1 建好model

其次,选择线性分析。Tools->Control Design ->Linear Analysis。如图2。

图2 选择Linear Ansysis

将出现如图3所示的Control and Estimation Tools Manager窗口。

图3 Control and Estimation Tools Manager窗口

第三步,激动人心的时刻到了,哈哈。如果你是按照前面的步骤来的,那么这时候,你就应

前面的方框打上该可以直接画出bode图,在窗口的下方,将“Plot linear analysis result in a ”

,即画output port和勾,已打的就不用管了,再在后面的下拉框里选择“bode response plot”

按钮,就OK了。其实除了bode图,还input port之间的bode图,再点击“Linearize Model”

可以画其他很多响应曲线,比如step response、impulse response和Nyquist图等等,只需选择相应的step response plot,inpulse response plot或者Nyquist plot等等。方法都是相同的。

如图4所示。

选择选择“bode response plot”,

图4 画出bode图

稍等片刻,便出现了图1中output port和input port的bode图了。是不是很简单?!

图5 model的bode图

至此,bode已经画完。如果此时还想看看step response或者Nyquist图,也是可以的。只需在bode图上右击,选择Plot Types->Step或者Nyquist等等,as you need!我们选择step,便会出现阶跃响应图。如图6、7所示。

图6 画阶跃响应图7 显示阶跃响应

上面的bode图和step response都没有网格,看着不精确,没关系。在图上右击,选择Grid,就能出现网格了。想要知道曲线上某点的坐标时,只需在该点上单击,就会显示出该点的坐标值。如图8a,8b。

图8a

图8b 显示网格和曲线上的坐标

关于图画里的操作,就介绍这么多,其他的功能自己去摸索。

回到图3中的Control and Estimation Tools Manager窗口。在该窗口中,除了可以画bode

图之外,还可以看到系统的状态方程、传递函数或者零极点方程。运行完“Linearize Model”

下的“Model”,在下方的下拉列表里选择“Zero Pole Gain”后,单击左侧“Linearization Task”

),就能看到系统输入输出的零极点增益

或者“Transefer Funciton”

(也可以选择“State Space”

方程。如下图9。

图9 查看系统输入输出之间的关系描述(状态议程、零极点增益、传递函数)

通过Linear Analysis工具,我们可以得到很多关于系统的直观的或者非直观的信息,如

bode图、Nyquist图、状态方程、传递函数等等。

以上简单介绍了Matlab/Simulink中利用Control Design的Linear Analysis绘制系统的bode 图,及查看系统输入输出关系的描述。Matlab的功能十分强大,还有许多功能需要探索,

以便其更好的帮助我们完成系统建模仿真和控制等

相关主题
相关文档
最新文档