利用MATLAB编程或者Simulink工具来绘制伯德图和奈奎斯特图
本文主要介绍如何利用MATLAB编程或者Simulink工具绘制伯德图和奈奎斯特图
一、用程序绘制伯德图和奈奎斯特图
1、conv()函数的介绍
conv()函数可用于计算两个向量卷积,简单理解其实就是可以用来计算多项式乘法。我们用conv()函数可以很方便的对传递环数的分子或者分母进行计算, 举个例子比如系统的传递函数如下(本文以此传递函数介绍如何绘制图像):
6(s+1)(s2+3s+5)\frac{6}{(s+1)(s^2+3s+5)}(s+1)(s2+3s+5)6
我们可以利用conv()函数对其分母进行计算,分别把多项式的系数,按照升幂(或降幂)排列的方式构成向量,可以赋值给一个变量,作为conv()函数的参数,也可以直接作为conv()函数的参数,有一点需要注意,要么都按照升幂的方式,要么都按照降幂的方式进行排列,此处以降幂的方式介绍,代码如下:
den_1=conv([1 1],[1 3 5])
运行结果如下:
den_1 =1 4 8 5
这样我们就得到了分母多项式按照降幂排列的系数
2、利用nyquist()函数绘制奈奎斯特图
我们可以把以上的到的分子(有增益的话乘以增益K)和分母多项式的系数作为nyquist()函数的参数,此时绘制的奈奎斯特图是w从负无穷到正无穷范围的完整的奈奎斯特图,当然我们可以用第三个参数来规定w的范围。代码如下:
k=6;
num_1=k*[1];
den_1=conv([1 1],[1 3 5]);
nyquist(num_1,den_1) %没有输出变量时绘制奈奎斯特曲线
绘制的图像如下(完整的图像):
采用如下方法可以简单地绘制w从0到正无穷时的图像:
k=6;
num_1=k*[1];
den_1=conv([1 1],[1 3 5]);
[re,im]=nyquist(num_1,den_1) %有输出变量时获取实部和虚部的值
plot(re,im);
绘制的图像如下:
为了便于观察和分析,我们可以加上网格线,画出实轴和虚轴,代码如下:
k=6;
num_1=k*[1];
den_1=conv([1 1],[1 3 5]);
nyquist(num_1,den_1) %没有输出变量时绘制奈奎斯特曲线
hold on
plot([-1 1.5],[0 0],'k')
plot([0 0],[-1 1],'k')
grid on %打开网格线,便于观察和分析
绘制的图像如下:
3、利用bode()函数绘制伯德图
同样把传递函数的分子分母多项式系数作为bode函数的前两个参数,把w的范围作为第三个参数,可以使用logspace()函数来规定w的范围如logspace(-2,3, 200)规定w从10负2次方到10的3次方,即0.01~1000,取200个点绘制,有一点需要注意,我们用matlab绘制的伯德图是精确的曲线,不是渐近曲线,代码如下:
k=6;
num_1=k*[1];
den_1=conv([1 1],[1 3 5]);
w=logspace(-2,3,200);
bode(num_1,den_1,w) %绘制伯德曲线
hold on
grid on %打开网格线,便于观察和分析
绘制的图像如下:
二、利用Simulink工具绘制伯德图和奈奎斯特图
同样以如下传递函数为例:
6(s+1)(s2+3s+5)\frac{6}{(s+1)(s^2+3s+5)}(s+1)(s2+3s+5)6
1、Simulink仿真模型的搭建
对于Simulink模块不熟悉的可以参考博文:PID控制器—MATLAB/Simulink仿真以及性能比较与分析 的第一部分,搭建的模型如下(本文的例子比较简单,就是一个传递函数,对于一个系统而言,就会复杂很多,所以呢个人感觉用Simulink工具来绘制要简单的多):
2、利用Simulink自带的Linear Analysis Tool绘制伯德图和奈奎斯特图,因matlab版本的不同Linear Analysis Tool所在的位置可能也不同,我用的matlab 2019b,位置如下:
在Simulink界面点击Apps如图所示
点击如图所示的工具,就打开Linear Analysis Tool工具了
我们选择Anaysis I/Os如下图所示
然后点击如下图所示的工具就可以很简单的绘制伯德图和奈奎斯特图了
绘制的伯德图如下:
绘制的奈奎斯特图如下:
我们用Simulink工具绘制的伯德图和奈奎斯特图和上文用程序绘制的伯德图和奈奎斯特图是相同的。
利用MATLAB编程或者Simulink工具来绘制伯德图和奈奎斯特图相关推荐
- Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示
Matlab:利用Matlab编程实现模拟分子布朗运动的动画展示 目录 输出结果 实现代码 输出结果 实现代码 %Brownian motion clf; n=20; s=0.02; x = rand ...
- matlab画三维图电磁场,利用matlab实现矩形波导电磁场分布图的绘制.doc
利用matlab实现矩形波导电磁场分布图的绘制.doc 利用MATLAB实现矩形波导电磁场分布图的绘制(附源程序)通过MATLAB计算并绘出任意时刻金属矩形波导的主模TE10模的电磁场分布图.波导尺寸 ...
- idft重建图像 matlab_利用 MATLAB 编程,打开一幅图像,对其进行 DFT 变换,并置其不同区域内的系数为零,进行 IDFT ,观察其输出效果。_学小易找答案...
[连线题]请对正确的快键键连线 [判断题]板书是指教师在课堂黑板或白板上书写,将教学内容形象.直观.简洁地传授给学生.清晰.流畅.快速的粉笔书写是课堂板书的基本功. [其它]利用 MATLAB 编程, ...
- 利用MATLAB对数据进行切片并绘制图表
利用MATLAB对数据进行切片并绘制图表 文章目录 利用MATLAB对数据进行切片并绘制图表 1 读取txt文件 2 对矩阵进行切片,提取信息 3 使用MATLAB绘图 4 附录--完整代码 1 读取 ...
- matlab 进行非线性回归,5.利用Matlab编程进行非线性回归分析.doc
5.利用Matlab编程进行非线性回归分析.doc §5. 利用Matlab编程计算非线性回归模型 --以Logistic曲线为例 1.原始数据 下表给出了某地区1971-2000年的人口数据(表1) ...
- 环形网络潮流计算matlab,利用matlab编程计算任意环形网络牛拉法潮流计算程序
环形网络潮流计算matlab,利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数可以得到任意节点和网络的环形网络牛拉法潮流计算. YID:696064261479453 ...
- 环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序
环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数可以得到任意节点和网络的环形网络牛拉法潮流计算. YID:856064261479453 ...
- 环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强
环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数可以得到任意节点和网络的环形网络牛拉法潮流计算. 现有:6960642614794538 ...
- 环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数
环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数可以得到任意节点和网络的环形网络牛拉法潮流计算. 现有:6960642614794538 ...
- matlab电磁场图像如何画,利用matlab实现矩形波导电磁场分布图的绘制
利用matlab实现矩形波导电磁场分布图的绘制 利用 Matlab 实现矩形波导电磁场分布图的绘制(附源程序)通过 Matlab 计算并绘出任意时刻金属矩形波导的主模 TE10 模的电磁场分布图.波导 ...
最新文章
- Java Lock接口分析之ReentantReadWriteLock
- 阿里云 centos 远程可视化桌面部署
- 抢红包算法 c++_十大排序算法(一):冒泡排序法
- pandas中合并数据集
- Hyperledger(超级账本)的worldstate和SAP CRM的CRMD_CUMULAT_H
- JavaFX 一 出生新手村(阅读小规则)
- Java中的静态方法和单例模式比较
- 使用javascript实现点击复制到剪贴板
- Python 已知三角形的三条边,求面积
- Proteus仿真stc89c51正反调速控制uln2003步进电机
- 用 visual foxpro 也可以编写“迅雷下载”
- Java是什么,有什么优势及特点
- 偏导数与全微分的计算
- 2021-05-16 C#.NET面试题 列举你知道的数字格式化转换
- 计算机搜索不到PDF,电脑找不到microsoft print to pdf打印机怎么办?
- 国家的崛起,无法建立局域网连接
- Font Management Essential Training 字体管理基本培训 Lynda课程中文字幕
- 学考计算机里分号是哪个,中考电脑阅卷流程曝光!认真看完多拿分!
- 认识恶意软件、病毒的传播方式、工作过程以及防御
- win10中配置gopath环境变量遇到的问题