使用simulink bode图的绘制
(完整版)Matlab中Bode图的绘制技巧(精)
Matlab中Bode图的绘制技巧我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。
譬如我们要画出下面这个传递函数的伯德图:1.576e010 s^2H(s= —--—---—-—-———--—-—--—-————--—----—-——-—-———-—-————-—————---——---———--—--————————---—-——-—s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 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,den;bode(H这样,我们就可以得到以下的伯德图:可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。
下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions我们可以看到以下内容: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: 0PhaseUnits:’deg’PhaseVisible: 'on'PhaseWrapping: 'off'PhaseMatching:’off’PhaseMatchingFreq: 0PhaseMatchingValue: 0我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图:P=bodeoptions;P。
BODE图的讲解
§5.7 利用闭环频率特性分析系统的性能
共二十三页
§5.3
对数(duì shù)频率特性 ( Bode )
Bode图介绍
(jièshào)
共二十三页
§5.3
对数(duì shù)频率特性 ( Bode)(2)
Bode图介绍(jièshào)
横轴 按 lg 刻度,dec “十倍频程”
绘制开环系统(xìtǒng)Bode图的 步骤
⑴ 化G(j)为尾1标准型
⑵ 顺序列出转折频率
例1
G(s)
s(
40(s 0.5) 0.2)( s2 s 1)
100( s 1)
G(s)
0.5
s( s 1)(s2 s 1)
0.2
0.2 惯性环节
0.5 一阶复合微分
1 振荡环节
⑶ 确定低频特性
例1 根据(gēnjù)Bode图确定系统传递函数。
解. 依图有 G(s) K
Ts 1
30
20lg K 30 K 1020 31.6
转折频率 2 1 T T 0.5
G(s)
3.16 s 1
2
• Bode图与Nyquist图之间的对应(duìyìng)
关系: • 截止频率c:G( jc ) 1
最小转折频率之左 的特性或其延长线
基准点 ( 1, L(1) 20lg K ) 斜率 20 v dB dec
⑷ 叠加作图
一阶
二阶
惯性环节 -20dB/dec
复合微分 +20dB/dec
振荡环节 -40dB/dec
复合微分 +40dB/dec
共二十三页
0.2 惯性环节 -20
Matlab中Bode图的绘制技巧
Matlab中Bode图的绘制技巧我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。
譬如我们要画出下面这个传递函数的伯德图:1.576e010 s^2H(s)=------------------------------------------------------------------------------------------s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 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,den);bode(H)这样,我们就可以得到以下的伯德图:可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。
下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions我们可以看到以下内容: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: 0PhaseUnits: 'deg'PhaseVisible: 'on'PhaseWrapping: 'off'PhaseMatching: 'off'PhaseMatchingFreq: 0PhaseMatchingValue: 0我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图:P=bodeoptions;P.Grid='on';P.XLim={[10 40000]};P.XLimMode={'manual'};P.FreqUnits='HZ';num=[1.576e010 0 0];den=[1 1.775e005 1.579e010 2.804e012 2.494e014];H=tf(num,den);bode(H,P)这时,我们将会看到以下的伯德图:上面这张图相对就比较好了,它的横坐标单位是HZ,范围是[10 40K]HZ,而且打开了网格,便于我们观察-3DB处的频率值。
simulink算电路的截止频率计算
simulink算电路的截止频率计算Simulink是一种广泛应用于建模、仿真和分析动态系统的工具,其中包括电路系统。
在电路中,截止频率(也称为角频率)是一个重要的参数,用于确定系统的频率响应特性。
在Simulink中计算电路的截止频率可以通过不同的方法实现,下面将介绍两种主要的方法。
方法一:利用传递函数在Simulink中,可以使用传递函数模块来建立电路系统的传递函数模型。
传递函数是描述系统输入与输出之间关系的数学表达式,通常用多项式来表示。
传递函数的形式为:H(s) = N(s)/D(s)其中s是复数变量,N(s)和D(s)分别表示传递函数的分子和分母多项式。
首先,需要将电路系统转换为传递函数模型。
可以使用Simulink中的各种模块来建立电路的元件模型,并将它们串联或并联来模拟整个电路。
然后,将各个元件的电压和电流关系转换为传递函数的形式,并计算出传递函数的分子和分母多项式。
接下来,利用传递函数计算截止频率。
传递函数的截止频率是指当输入信号的频率达到一定值时,输出信号幅度的下降到一定比例(通常是-3dB)的频率。
可以使用Bode图来表示传递函数的频率响应特性。
在Simulink中,可以使用Bode模块来生成传递函数的Bode图,并从图中读取截止频率。
方法二:利用频域分析工具Simulink还提供了丰富的频域分析工具,可以直接用于计算电路的截止频率。
首先,同样需要建立电路的模型。
可以使用Simulink中的各种模块来建立电路的元件模型,并将它们连接起来。
然后,在电路模型中添加频域分析工具,例如频谱分析器或频率响应分析器。
这些工具会对输入信号进行频域分析,并计算出特定频率下的幅度和相位信息。
接下来,运行模型并观察输出结果。
频域分析工具会生成相关图表,其中包括幅度和相位频谱。
从幅度频谱中找到幅度下降到一定比例(通常是-3dB)的频率即可得到截止频率。
需要注意的是,截止频率的计算通常是基于理想情况下的模型和假设,实际电路中可能会存在各种非线性和非理想特性,因此计算结果可能与实际情况存在差异。
simulink频率响应曲线
simulink频率响应曲线
在Simulink中绘制频率响应曲线,可以通过使用频率响应分
析工具箱中的块以及Matlab中的快速傅里叶变换(FFT)函
数来实现。
以下是一种常用的方法:
1. 建立一个输入信号源模块,可以是恒定的幅度和频率的正弦波信号。
2. 将输入信号传递给一个系统模型,该系统模型是你想分析频率响应的模型。
这可以是一个已经建立的Simulink模型,也
可以是一个自定义的系统。
3. 将系统模型的输出连接到一个快速傅里叶变换(FFT)模块。
FFT模块将时域信号转换为频域信号。
4. 将FFT模块的输出传递给一个幅度谱和相位谱测量模块。
这将计算频域信号的振幅和相位。
5. 将幅度谱和相位谱通过作图工具显示出来,即可得到频率响应曲线。
需要注意的是,频率响应曲线的绘制是基于离散频率的,因此需要给定适当的采样率来表示连续频率范围。
此外,还可以使用计算工具箱中的其他分析工具,如频率响应分析工具、Bode图等来绘制频率响应曲线。
(完整版)Matlab中Bode图的绘制技巧(精)
Matlab中Bode图的绘制技巧我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。
譬如我们要画出下面这个传递函数的伯德图:1.576e010 s^2H(s= ------------------------------------------------------------------------------------------s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 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,den;bode(H这样,我们就可以得到以下的伯德图:可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。
下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions我们可以看到以下内容: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'PhaseMatching: 'off'PhaseMatchingFreq: 0PhaseMatchingValue: 0我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图:P=bodeoptions;P.Grid='on';P.XLim={[10 40000]};P.XLimMode={'manual'};P.FreqUnits='HZ';num=[1.576e010 0 0];den=[1 1.775e005 1.579e010 2.804e012 2.494e014];H=tf(num,den;bode(H,P这时,我们将会看到以下的伯德图:上面这张图相对就比较好了,它的横坐标单位是HZ,范围是[10 40K]HZ,而且打开了网格,便于我们观察-3DB处的频率值。
实验二:绘制控制系统的Bode图(学生用)
实验二:绘制控制系统的Bode图Bode Graphics of Controlling System一、实验目的1.利用计算机做出开环系统的伯德图;2.观察记录控制系统的开环频域性能;3.控制系统的开环频率特性分析。
二、实验步骤1.在Windows界面上双击matlab图标,即可打开MATLAB命令平台。
2.练习相关M函数(1)伯德图绘图函数:bode(sys)bode(sys,{wmin,wmax})bode(sys,w)[m,p,w]=bode(sys)函数功能:对数频率特性作图函数,即伯德图作图。
格式1:给定开环系统的数学模型对象sys作伯德图,频率向量w自动给出。
格式2:给定变量w的绘图区间为{wmin,wmax}。
格式3:频率向量w由人工给出。
w的单位为[弧度]/秒,可以由命令logspace得到对数等分的w值。
格式4:返回变量格式,不作图。
m为频率特性G(jω)的幅值向量,m=︱G(j)︳。
p为频率特性G(jω)的幅角向量,p=arg[G(jω)],单位为角度(°)。
w为频率向量,单位为[弧度]/秒。
更详细的命令说明,可键入“help bode”在线帮助查阅。
例如,系统开环传递函数为作图程序为num=[10];den=[1 2 10];sys=tf(num,den);bode(sys);grid on上面两句或者直接换为:bode(num,den);绘制伯德图如图1所示。
或者给定人工变量w=logspace(-1,1,32); % w范围和点数n ,下面对该函数做了详细的说明bode(num,den,w); %或者sys=tf(num,den); bode(sys,w);grid on绘制伯德图如图2所示。
图3 伯德图图4 伯德图(2)对数分度函数:logspace(d1,d2)logspace(d1,d2,n)函数功能:产生对数分度向量。
格式1:从10d1到10d2之间作对数等分分度,产生50个元素的对数等间隔向量。
MATLAB中bode图绘制技巧
Matlab中Bode图的绘制技巧2010-06-04 21:21:48 阅读54 评论0 字号:大中小订阅我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。
譬如我们要画出下面这个传递函数的伯德图:s^2H(s)=------------------------------------------------------------------------------------------s^4 + s^3 + s^2 + s +(这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。
) 我们可以用下面的语句:num=[ 0 0];den=[1 ];H=tf(num,den);bode(H)这样,我们就可以得到以下的伯德图:可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。
下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions我们可以看到以下内容: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: 0PhaseUnits: 'deg'PhaseVisible: 'on'PhaseWrapping: 'off'PhaseMatching: 'off'PhaseMatchingFreq: 0PhaseMatchingValue: 0我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图:P=bodeoptions;='on';={[10 40000]};={'manual'};='HZ';num=[ 0 0];den=[1 ];H=tf(num,den);bode(H,P)这时,我们将会看到以下的伯德图:上面这张图相对就比较好了,它的横坐标单位是HZ,范围是[10 40K]HZ,而且打开了网格,便于我们观察-3DB处的频率值。
实验三 系统Bode图及Nyquist曲线的绘制实验报告.docx
实验三系统Bode图及Nyquist曲线的绘制1.实验的目的和要求1)加深了解系统及元件频率特性的物理概念;2)进一步加深对Bode图及Nyquist曲线的了解;3)熟练掌握用Matlab分析系统频率特性的方法。
2.实验内容1)系统的模拟电路原理图及系统的结构方框图分别如图5-1、5-2所示。
图5-1 系统的模拟电路原理图图5-2 系统的结构方框图2)绘制系统的Bode图及Nyquist曲线,并分析K对Bode图及Nyquist曲线的影响。
3.需用的仪器计算机、Matlab6.5编程软件4.实验步骤1)计算系统的开环传递函数;2)取R2=500K,绘制系统开环Bode图及Nyquist曲线;3)K取不同值,实验分析K对开环幅相曲线及Bode图的影响。
5.教学方式讲授与指导相结合6.实验报告要求1)、计算开环传函G k(s)=10s ×10.1s+1×K =10K0.1s2+s2)、取R2=500K,绘制Bode图和Nyquist图⑴、Simulink指令块Bode图:Nyquist图:3)、K取不同值,对开环幅相曲线及Bode图的影响⑴、K取不同值,对开环幅相曲线的影响程序:》y1=tf([50],[0.1,1,0]);y2=tf([100],[0.1,1,0]);y3=tf([200],[0.1,1,0]);nyquist(y1);set(findobj('Color','b'),'LineWidth',3)hold on;nyquist(y2);nyquist(y3);set(findobj('Color','r'),'LineWidth',6);grid;legend('k=5响应曲线','K=10响应曲线','K=20响应曲线'); title('李山 1206074118');图形:分析,φ(jw)=arctan(10w)得出,K的改变不会影响角度的由公式A(w)=|G(jw)|=10k0.01w4+w2变化,只会影响幅值。
(完整版)Matlab中Bode图的绘制技巧
Matlab中Bode图的绘制技巧我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了.譬如我们要画出下面这个传递函数的伯德图:1。
576e010 s^2H(s)=—-—-—-——-----—--——-—-----—-———--—---—--———-—----—--—-—-—---———---——--——--—--—---—-———--——-s^4 + 1.775e005 s^3 + 1。
579e010 s^2 + 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,den);bode(H)这样,我们就可以得到以下的伯德图:可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。
下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions我们可以看到以下内容: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: 0PhaseUnits: ’deg'PhaseVisible:’on'PhaseWrapping:’off’PhaseMatching: ’off'PhaseMatchingFreq: 0PhaseMatchingValue: 0我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图:P=bodeoptions;P.Grid=’on’;P.XLim={[10 40000]};P。
如何绘制伯德图
L( ) dB
40 20 0
0.01 0.1 1 10 100
-20
-40
( )
90o
45o
0 -45o -90o 0.01 0.1 1 10 100
2
用伯德图分析系统有如下优点: (1) 将幅频特性和相频特性分别作图,使系统(或环
节) 的幅值和相角与频率之间的关系更加清晰; (2) 幅值用分贝数表示,可将串联环节的幅值相乘变为相 加运算,可简化计算;
2 2 20 lg 1 T 1 T
1
1
20 lg 2 3 ( dB )
1 1 2T
时的误差是
2 2 20 lg 1 T
5 20 lg 0 . 97 ( dB ) 1 1 2 2 T
2
1 T
时的误差是
2 2 20 lg 1 T ( 20 lg T 1 ) 20 lg 5 20 lg 2 0 . 97 ( dB ) 1 2 2 T T
11
(四) 一阶微分环节
一阶微分环节频率特性为 G ( j ) j 1 其对数幅频特性是 2 2 20 lg G ( j ) 20 lg 1
2 2 当 1 时,20 lg 1 0 ( dB ) ;
2 2 当 1 时,20 ; lg 1 20 lg ( dB )
(5-65)
(5-66)
(5-67)
对数幅频特性是
1 20 lg G ( j ) 20 lg 20 lg
.1 时,20 lg G ( j 0 . 1 ) 20 lg 0 . 1 20 ( dB ) ; 当 0 lg G ( j 1 ) 20 lg 1 0 ( dB ) ; 当 1 时,20
(完整版)Matlab中Bode图的绘制技巧(精)
Matlab中Bode图的绘制技巧我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。
譬如我们要画岀下面这个传递函数的伯德图:1.576e010 s A2H(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,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。
F面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptio ns我们可以看到以下内容: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'是这样的,运行命令 ctrlpref ,出现控制系统工具箱的设置页面, Units 改为Hz 就好了PhaseMatchi ng: 'off'PhaseMatchi ngFreq: 0PhaseMatchi 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 00]; den=[1 1.775e0051.579e0102.804e012 2.494e014];H=tf( num,de n;bode(H,P这时,我们将会看到以下的伯德图:上面这张图相对就比较好了,它的横坐标单位是HZ ,范围是[10 40K]HZ ,而且打开了网格,便于我们观察-3DB 处的频率值。
Matlab波特图Bode绘制
Matlab波特图绘制在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图的时候,系统就会知道是这两个变量之间的关系。
其次,选择线性分析。
Tools->Control Design ->Linear Analysis。
如图2。
将出现如图3所示的Control and Estimation Tools Manager窗口。
第三步,激动人心的时刻到了,哈哈。
如果你是按照前面的步骤来的,那么这时候,你就应该可以直接画出bode图,在窗口的下方,将“Plot linear analysis result in a ”前面的方框打上勾,已打的就不用管了,再在后面的下拉框里选择“bode response plot”,即画output port和input port之间的bode图,再点击“Linearize Model”按钮,就OK了。
其实除了bode图,还可以画其他很多响应曲线,比如step response、impulse response和Nyquist图等等,只需选择相应的step response plot,inpulse response plot或者Nyquist plot等等。
自动控制原理simulink实验指导
自动控制原理上机实验指导书王芳、杨志超编写南京工程学院电力工程学院二〇〇七年二月目录Simulink仿真集成环境简介 (2)实验一典型环节的性能分析 (11)实验二二阶系统的性能分析 (14)实验三自动控制系统的稳定性和稳态误差分析 (17)实验四自动控制系统根轨迹的分析 (22)实验五自动控制系统的频域分析 (27)实验六控制系统的校正及设计 (32)实验七非线性系统的稳定性分析 (39)Simulink仿真集成环境简介Simulink是可视化动态系统仿真环境。
1990年正式由Mathworks公司引入到MATLAB中,它是Slmutation 和Link的结合。
这里主要介绍它的使用方法和它在控制系统仿真分析和设计操作的有关内容。
1、进入Simulink操作环境双击桌面上的MATLAB图标,启动MATLAB,进入开发环境,如图0-1所示:图0-1 MATLAB开发环境从MATLAB的桌面操作环境画面进入Simulink操作环境有多种方法,介绍如下:①点击工具栏的Simulink图标,弹出如图0-2的图形库浏览器画面。
②在命令窗口键入“simulink”命令,可自动弹出图形库浏览器。
上述两种方法需从该画面“File”下拉式菜单中选择“New/Model”,或点击图标,得到图0-3的图形仿真操作画面。
③从“File”下拉式菜单中选择“New/Model”,弹出图0-3所示的未命名的图形仿真操作画面。
从工具栏中点击图形库浏览器图标,调出图0-2的图形库浏览器画面。
图0-3用于仿真操作,图0-2的图形库用于提取仿真所需的功能模块。
图0-2 Simulink图形库浏览器画面图0-3 simulink仿真操作环境画面2、提取所需的仿真模块在提取所需仿真模块前,应绘制仿真系统框图,并确定仿真所用的参数。
图0-2中的仿真用图形库,提供了所需的基本功能模块,能满足系统仿真的需要。
该图形库有多种图形子库,用于配合有关的工具箱。
(完整版)使用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 ”前面的方框打上勾,已打的就不用管了,再在后面的下拉框里选择“bode response plot”,即画output port和input port之间的bode图,再点击“Linearize Model”按钮,就OK了。
MATLAB中调用simulink并绘制bode图技巧
Matlab中Bode图的绘制技巧
用simulink提供的linmod()或者linmod2()两个函数,从连续系统中提取线性模型,两个函数命令执行后都可以得到一个[a,b,c,d]表达的状态空间模型。
利用bode(sys)或者bode(a,b,c,d)函数绘制系统的对数幅频和相频特性曲线。
1) 修正原来的simulink模型,使其输入用inport表示,输出用outport表示。
这些端口在6.1版中分别位于sources和sinks组。
2)编写m文件内容为:
[A,B,C,D]=linmod(‘untitled1’) % untitled1’为系统的动态模型或simulink文件名。
[num,den]=ss2tf(A,B,C,D); %转换成传递函数模型
printsys(num,den,’s’); %显示系统的传递函数模型
sys=ss(A,B,C,D);
bode(sys); %即可绘制系统的开环系统bode图
bode(A,B,C,D); %也可以采用此语句代替上面紫色语句
3)、直接在命令窗执行m文件。
MATLAB中bode图绘制技巧
Matlab中Bode图的绘制技巧2010-06-04 21:21:48 阅读54 评论0 字号:大中小订阅我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。
譬如我们要画出下面这个传递函数的伯德图:s^2H(s)=------------------------------------------------------------------------------------------s^4 + s^3 + s^2 + s +(这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。
) 我们可以用下面的语句:num=[ 0 0];den=[1 ];H=tf(num,den);bode(H)这样,我们就可以得到以下的伯德图:可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。
下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions我们可以看到以下内容: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: 0PhaseUnits: 'deg'PhaseVisible: 'on'PhaseWrapping: 'off'PhaseMatching: 'off'PhaseMatchingFreq: 0PhaseMatchingValue: 0我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图:P=bodeoptions;='on';={[10 40000]};={'manual'};='HZ';num=[ 0 0];den=[1 ];H=tf(num,den);bode(H,P)这时,我们将会看到以下的伯德图:上面这张图相对就比较好了,它的横坐标单位是HZ,范围是[10 40K]HZ,而且打开了网格,便于我们观察-3DB处的频率值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在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 ”前面的方框打上勾,已打的就不用管了,再在后面的下拉框里选择“bode response plot”,即画output port和input port之间的bode图,再点击“Linearize Model”按钮,就OK了。
其实除了bode图,还可以画其他很多响应曲线,比如step response、impulse response和Nyquist图等等,只需选择相应的step response plot,inpulse response plot或者Nyquist plot等等。
方法都是相同的。
选择选择“bode response plot”,如图4所示。
图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”后,单击左侧“Linearization Task”下的“Model”,在下方的下拉列表里选择“Zero Pole Gain”(也可以选择“State Space”或者“Transefer Funciton”),就能看到系统输入输出的零极点增益方程。
如下图9。
图9 查看系统输入输出之间的关系描述(状态议程、零极点增益、传递函数)
通过Linear Analysis工具,我们可以得到很多关于系统的直观的或者非直观的信息,如bode图、Nyquist图、状态方程、传递函数等等。
以上简单介绍了Matlab/Simulink中利用Control Design的Linear Analysis绘制系统的bode 图,及查看系统输入输出关系的描述。
Matlab的功能十分强大,还有许多功能需要探索,以便其更好的帮助我们完成系统建模仿真和控制等。