Matlab中用Simulink快速画Bode图及 .m 文件画Bode图

  • Simulink画Bode图
  • .m 文件画Bode图

Simulink画Bode图

一万年没用matlab画过Bode图了,但是以后应该是要经常用到的,所以掏出自控原理,再学一遍Bode图的画法。通过代码来画实在是脑阔疼(不过习惯后应该还是会很得心应手的吧),经过师兄指点,发现了一个简单又快捷的画法,特此记录。

首先打开simulink,拖出一个传递函数框(Transfer Fcn),写入自己想画的传递函数,如下图所示:

然后右键传递函数(上图中为 Transfer Fcn2),选择 Linear Analysis,选择 Linearize Block,如下图所示:

然后出现下图,点击右上方的 bode 选项即大功告成了。

对于其他传递函数的 bode 图,可以同样的方式操作,最后选择 Bode Plot 1 则会在 Bode Plot 1 中继续画出新的 Bode 图,如下如示,这样就可以轻松比对各个 Bode 图了。若继续选择 Bode ,则会另开一个 Bode Plot 2 画出新的 Bode 图。

对于Bode图中的数据,显然就在左边"Linear Analysis Workspace"中的"linsys1"和"linsys2"中,想提取出来再用其他画图工具自行绘制的可以用鼠标选中比如"linsys1",将其拖到左上方的"MATLAB Workspace"中,这样我们就能在Matlab的workspace中找到该变量了,再通过如下语句即可获得幅频、相频数据:

>> [mag,phase,freq] = bode(linsys1)

此处参考文献:https://www.mathworks.com/matlabcentral/answers/273363-how-to-export-data-from-bode-in-linear-analysis-tool

最后可能是我对Simulink的理解还不够深入吧,我放弃了使用Simulink画Bode图。原因在于"Linear Analysis Tool"虽然可以快速画出Bode图,但也仅止于此了,我没找到可以设置图中点的个数或者说点与点间距的地方(设置横轴单位、设置横轴范围的地方倒是有),所以Simulink画出的Bode图也就只能看看,放到文章里还得上 .m 文件。

.m 文件画Bode图

这个没什么好说的,无非就是几个函数的使用,所以直接上代码:

Hz = logspace(-1, 5, 10000);
w = 2 * pi * Hz;num = [2 * pi * 25];
% den = [1 0];
% num = [2 * pi * 25];
den = [1 2 * pi * 25];% bode(num, den, w);[mag, pha, w1] = bode(num, den, w);
% log10w1 = log10(w1);
mag_plot = 20 * log10(mag);subplot(2, 1, 1);
semilogx(Hz, mag_plot);
% plot(log10w1, mag_plot)subplot(2, 1, 2);
semilogx(Hz, pha);
% plot(log10w1, pha);

这是一个截止频率为25Hz的低通滤波器。另外我这里画出的图的横轴单位是Hz。其中的函数也就:logspace、bode、subplot、semilogx。这样来看好像 .m 文件来画Bode图也不比 Simulink 复杂呀,甚至更简单。(文件先保存了,免得后面又忘记怎么画Bode图了)

Matlab中用Simulink快速画Bode图及 .m 文件画Bode图相关推荐

  1. 【笔记】Android 使用自定义矢量图,ps文件转矢量图

    不用再手撸svg代码了 可以试试ps文件转svg代码 首先去ps编辑图片文件 将所有图层合并为一图层 按Ctrl+点击图层,获取图层选取 去路径-将选取生成路径 1.回到图层 2.点击钢笔工具 3.点 ...

  2. Matlab的Simulink用JK触发器做五进制计数器

    Matlab的Simulink用JK触发器做五进制计数器 介绍 仿真图 介绍 万能的MATLAB实现一个五进制计数器,状态转换图如下: JK触发器的逻辑功能: 如果使用简单便捷不画真值表不看公式不化简 ...

  3. matlab里simulink,如何运用MATLAB中的Simulink?

    摘要:文中首先分析了MATLAB/Simulink中DSP Builder模块库在FPGA设计中优点,然后结合FSK信号的产生原理,给出了如何利用DSP Builder模块库建立FSK信号发生器模型, ...

  4. MATLAB的Simulink使用及实例

    MATLAB的Simulink使用及实例 今天我们来新建一个如图所示的simulink文件 源代码已经上传了,只要5积分就可以下载啦,嘿嘿. https://download.csdn.net/dow ...

  5. 使用Matlab SPM12与MRIcroGL进行头核磁ROI的标准化与Overlap图的制作

    目的:使用SPM12将原始的T1WI图像以及ROI文件标准化至MNI152脑空间,以及使用MRIcroGL制作脑损伤的Overlay热图: 使用软件:Matlab2021b for mac,SPM12 ...

  6. matlab 绘制一分钟k线图,手工绘制k线图?一天的k线图怎么画。

    如何手工绘制K线图 怎么确定时间和价格的比例? 请教:手画k线图(日.周.月.年),是取收盘价还是...?怎样画?谢. 如何用坐标纸画股票k线图 股票的K线图怎么画图.我想知道自己画图这方面的知识.. ...

  7. MATLAB /Simulink 快速开发STM32(使用st官方工具 STM32-MAT/TARGET)

    MATLAB /Simulink 快速开发STM32(使用st官方工具 STM32-MAT/TARGET) 置顶 2018年06月04日 22:10:24 siemens_xp 阅读数 7220 在网 ...

  8. matlab怎么画两个自变量的图_关系图怎么画?一款实用的绘制关系图设计软件

    关系图是指实体-联系图,是用来描述现实世界的概念模型.关系图应用范围很广.比如人物关系图.零件关系图等等.关系图主要由三部分构成:矩形框里写实体名.椭圆符号表示属性.菱形框中标明何种联系.同时还用线条 ...

  9. matlab怎么画两个自变量的图_水彩怎么画 水彩画自学教程 水彩画入门到精通步骤图...

    水彩怎么画 水彩画自学教程 水彩画入门到精通步骤图!水彩怎么画 水彩画自学教程 水彩画入门到精通步骤图! 如果你的基础太薄弱,不建议自己瞎摸索,你可以关注一下公众号:每日学绘画,有很多的绘画视频,非常 ...

最新文章

  1. 独家 | 一文盘点AutoML 库
  2. phpstrom中让volt高亮显示
  3. java web编码详解_java web 开发 编码问题详解
  4. 远程代理模式-Remote Proxy(Java实现)
  5. Matlab函数bwmorph
  6. xamarin textview 滚动_微软测试 Win10 Chromium/Edge CPU 优化和滚动新效果
  7. 左值、右值、左值引用、右值引用
  8. 使用VisualSVN Server自动发布站点
  9. easyexcel 工具类_问了个在阿里的同学,他们常用的15款开发者工具!
  10. ironpython 开发_[IronPython]IronPython开发环境的安装与设定
  11. 嵌入式linux gif 缩放_嵌入式环境动力监控主机
  12. delphi xe10.4.2 datasnap客户端接收dataset返回值
  13. Windows​服务器添加单IP不同段IP和整段IP
  14. 智慧消防物联网落地案例(云南、福建、陕西) java 物联网智慧消防
  15. Linux 设备驱动篇之I2c设备驱动
  16. Java小白入门200例81之Java接口
  17. 从零开始的Nginx详解(3)【Nginx-Https服务配置详解】
  18. Win10 UEFI安装
  19. web前端标题记录(2019)
  20. 杭电OJ--1717

热门文章

  1. Linux上构筑iPhone OS3.1.2开发环境之解压firmware
  2. 云服务器(CentOS 7)上面部署Node.js环境
  3. 小升初数学暑假班招生中
  4. 测量耐力也有算法了!仅需锻炼20分钟,就能知晓自己能跑多久
  5. Jinja2渲染的两种方式
  6. Hyperlynx使用心得
  7. 微信小程序 获取手机号 JavaScript解密示例代码详解
  8. Qt经典蓝牙系列四(经典蓝牙客户端的设计 纯Qt代码) android/windows10
  9. 安装2017su提示c++2014不能安装问题解决办法
  10. SVG可伸缩的矢量图形 1