Matlab中用Simulink快速画Bode图及 .m 文件画Bode图
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图相关推荐
- 【笔记】Android 使用自定义矢量图,ps文件转矢量图
不用再手撸svg代码了 可以试试ps文件转svg代码 首先去ps编辑图片文件 将所有图层合并为一图层 按Ctrl+点击图层,获取图层选取 去路径-将选取生成路径 1.回到图层 2.点击钢笔工具 3.点 ...
- Matlab的Simulink用JK触发器做五进制计数器
Matlab的Simulink用JK触发器做五进制计数器 介绍 仿真图 介绍 万能的MATLAB实现一个五进制计数器,状态转换图如下: JK触发器的逻辑功能: 如果使用简单便捷不画真值表不看公式不化简 ...
- matlab里simulink,如何运用MATLAB中的Simulink?
摘要:文中首先分析了MATLAB/Simulink中DSP Builder模块库在FPGA设计中优点,然后结合FSK信号的产生原理,给出了如何利用DSP Builder模块库建立FSK信号发生器模型, ...
- MATLAB的Simulink使用及实例
MATLAB的Simulink使用及实例 今天我们来新建一个如图所示的simulink文件 源代码已经上传了,只要5积分就可以下载啦,嘿嘿. https://download.csdn.net/dow ...
- 使用Matlab SPM12与MRIcroGL进行头核磁ROI的标准化与Overlap图的制作
目的:使用SPM12将原始的T1WI图像以及ROI文件标准化至MNI152脑空间,以及使用MRIcroGL制作脑损伤的Overlay热图: 使用软件:Matlab2021b for mac,SPM12 ...
- matlab 绘制一分钟k线图,手工绘制k线图?一天的k线图怎么画。
如何手工绘制K线图 怎么确定时间和价格的比例? 请教:手画k线图(日.周.月.年),是取收盘价还是...?怎样画?谢. 如何用坐标纸画股票k线图 股票的K线图怎么画图.我想知道自己画图这方面的知识.. ...
- MATLAB /Simulink 快速开发STM32(使用st官方工具 STM32-MAT/TARGET)
MATLAB /Simulink 快速开发STM32(使用st官方工具 STM32-MAT/TARGET) 置顶 2018年06月04日 22:10:24 siemens_xp 阅读数 7220 在网 ...
- matlab怎么画两个自变量的图_关系图怎么画?一款实用的绘制关系图设计软件
关系图是指实体-联系图,是用来描述现实世界的概念模型.关系图应用范围很广.比如人物关系图.零件关系图等等.关系图主要由三部分构成:矩形框里写实体名.椭圆符号表示属性.菱形框中标明何种联系.同时还用线条 ...
- matlab怎么画两个自变量的图_水彩怎么画 水彩画自学教程 水彩画入门到精通步骤图...
水彩怎么画 水彩画自学教程 水彩画入门到精通步骤图!水彩怎么画 水彩画自学教程 水彩画入门到精通步骤图! 如果你的基础太薄弱,不建议自己瞎摸索,你可以关注一下公众号:每日学绘画,有很多的绘画视频,非常 ...
最新文章
- 独家 | 一文盘点AutoML 库
- phpstrom中让volt高亮显示
- java web编码详解_java web 开发 编码问题详解
- 远程代理模式-Remote Proxy(Java实现)
- Matlab函数bwmorph
- xamarin textview 滚动_微软测试 Win10 Chromium/Edge CPU 优化和滚动新效果
- 左值、右值、左值引用、右值引用
- 使用VisualSVN Server自动发布站点
- easyexcel 工具类_问了个在阿里的同学,他们常用的15款开发者工具!
- ironpython 开发_[IronPython]IronPython开发环境的安装与设定
- 嵌入式linux gif 缩放_嵌入式环境动力监控主机
- delphi xe10.4.2 datasnap客户端接收dataset返回值
- Windows​服务器添加单IP不同段IP和整段IP
- 智慧消防物联网落地案例(云南、福建、陕西) java 物联网智慧消防
- Linux 设备驱动篇之I2c设备驱动
- Java小白入门200例81之Java接口
- 从零开始的Nginx详解(3)【Nginx-Https服务配置详解】
- Win10 UEFI安装
- web前端标题记录(2019)
- 杭电OJ--1717