控制器分析-绘制伯德图

2023-11-10

控制器分析-绘制伯德图

设计控制器,需要利用伯德图工具分析控制器的相频特性与幅频特性。本文提供了两种绘制伯德图的方法,第一种是利用MATLAB内置的函数绘制,第二种是自己编写的代码。由于最开始第一种方法获得的图片属性不满意,如坐标轴字体大小、坐标轴名称中英文混排、字体等图片属性,使用代码调节特麻烦,于是自己写了一段代码,用于绘制图片属性可控的伯德图。至今,第一种方法的缺陷已被完善,故本文两种方法的图片属性都可控,按照自己的使用习惯任选一种方法使用即可。

软件背景

  • MATLAB 2021a

方法一

MATLAB自带的函数绘制伯德图,此方法获得的图片横轴是 r a d / s \rm rad/s rad/s

clear,clc;
figure
a = 1;
H = tf([0 a],[1 a]);
bode(H)
grid on

运行代码,获得如下图片:
在这里插入图片描述

如前所述,图片属性不可控,若想修改,可参考我的另一篇博文–坐标轴名称中英混排的图片获取流程。

方法二

为了便于理解,将此方法中的横轴坐标定为 H z \rm Hz Hz

clear,clc;
f = linspace(1/1000,10,1000) ;  %Hz 1k个点连续性还不错
a = 1;     %剪切频率是1rad/s,对应的频率是0.159Hz,该频率的相位滞后45°
w =6.28*f;  %Hz转换成rad/s
G = a./(a+1i*w);  %频响函数
y = abs(G);
z = 20*log10(y);
theta = angle(G)*180./pi;

figure
semilogx(f,z)  % 并没有改变横坐标的值,只是以对数线性化的方式表达
grid on
xlabel('Hz','FontName','Times New Roman','FontWeight','Bold','FontSize',10.5); 
ylabel('Magnitude (dB)','FontName','Times New Roman','FontWeight','Bold','FontSize',10.5);
set(gcf,'unit','centimeters','position',[30 15 15 7]);
set(gca,'FontName','Times New Roman','FontSize',10.5,'FontWeight','bold');

figure  
semilogx(f,theta)  
grid on
xlabel('Hz','FontName','Times New Roman','FontWeight','Bold','FontSize',10.5); 
ylabel('Phase (deg)','FontName','Times New Roman','FontWeight','Bold','FontSize',10.5);
set(gcf,'unit','centimeters','position',[30 15 15 7]);
set(gca,'FontName','Times New Roman','FontSize',10.5,'FontWeight','bold'); 

运行代码,可获得如下图片:
在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

控制器分析-绘制伯德图 的相关文章

  • Matlab:如何显示数组的“真实”值?

    我有一个在脚本中计算的向量 计算后 我将值显示到命令窗口 显示如下 finalResults 1 0e 05 0 0001 0 0 0005 0 0002 0 0001 0 0027 0 0033 0 0001 0 0000 0 0000
  • Matlab PARFOR 循环可以通过编程方式打开/关闭吗?

    有一个关于 MATLAB 中 parfor 的简单问题 我想在程序中设置一个标志 以便在 parfor 和常规 for 循环之间进行更改 基本上 我需要此功能 以便我的代码的某些部分可以在 调试 模式下更新图形 然后当关闭该标志时 使用 p
  • 将自动生成的 Matlab 文档导出为 html

    我想为我开发的 Matlab 工具箱生成完整的帮助 我已经看到如何显示自定义文档 http www mathworks fr fr help matlab matlab prog display custom documentation h
  • 检查Matlab中脚本需要使用的函数

    我有一个别人写的代码包 我正在运行一个脚本 它调用一些函数 这些函数又调用更多函数 等等 我想获取不是 MATLAB 内置函数但属于包的一部分的函数列表 我尝试使用matlab codetools requiredFilesAndProdu
  • MATLAB 中最有效的矩阵求逆

    在 MATLAB 中计算某个方阵 A 的逆矩阵时 使用 Ai inv A should be the same as Ai A 1 MATLAB 通常会通知我这不是最有效的求逆方法 那么什么是更有效率的呢 如果我有一个方程系统 可能会使用
  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列
  • Matlab 字段名索引[重复]

    这个问题在这里已经有答案了 所以我有一个包含多个表的元胞数组 我试图访问表的第一个列名称 c table1 table2 table3 以下两行都给了我错误 fieldnames c 1 1 fieldnames c 1 1 Error i
  • 如何找到在matlab中重复的矩阵的每一行的索引?

    我想找到矩阵中所有有重复项的行的索引 例如 A 1 2 3 4 1 2 3 4 2 3 4 5 1 2 3 4 6 5 4 3 要返回的向量将是 1 2 4 很多类似的问题建议使用unique函数 我已经尝试过 但我能得到的最接近我想要的功
  • 如何在 Matlab 中对数组应用低通或高通滤波器?

    有没有一种简单的方法可以将低通或高通滤波器应用于 MATLAB 中的数组 我对 MATLAB 的强大功能 或数学的复杂性 有点不知所措 需要一个简单的函数或一些指导 因为我无法从文档或网络搜索中找到答案 看着那 这filter http w
  • 使用 MATLAB 进行线路跟踪

    我有一个图像 我想将其转换为逻辑图像 包括线条为黑色 背景为白色 当然 可以使用阈值方法来实现这一点 但我不想使用这种方式来做到这一点 我想通过使用线路跟踪方法或类似的方法来检测它 这是关于视网膜血管检测的 我找到了一个article ht
  • MATLAB 教程中的 SIFT 实现

    我正在寻找 MATLAB 中的一些基本 SIFT 实现 我需要从第一原则来写它 另外 我正在寻找一些可以解释程序中发生的事情的内容 Vedali 的代码和 David Lowe 的代码超出了我的理解范围 如果您是 Matlab 用户 您一定
  • MATLAB:具有复数的 printmat

    我想使用 MATLAB 的printmat显示带有标签的矩阵 但这不适用于复数 N 5 x rand N 1 y rand N 1 z x 1i y printmat x y z fftdemo N 1 2 3 4 5 x y x iy O
  • Matlab 和 Python 中的优化算法(dog-leg trust-region)

    我正在尝试使用 Matlab 和 Python 中的狗腿信赖域算法求解一组非线性方程 在Matlab中有fsolve https www mathworks com help optim ug fsolve html其中此算法是默认算法 而
  • 在 Matlab 中高效获取像素坐标

    我想在 Matlab 中创建一个函数 给定一个图像 该函数将允许人们通过单击图像中的像素来选择该像素并返回该像素的坐标 理想情况下 人们能够连续单击图像中的多个像素 并且该函数会将所有相应的坐标存储在一个矩阵中 有没有办法在Matlab中做
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得
  • MATLAB 中的霍夫变换

    有谁知道如何使用霍夫变换来检测二值图像中最强的线 A zeros 7 7 A 6 10 18 24 36 38 41 1 使用 rho theta 格式 其中 theta 以 45 为步长 从 45 到 90 以及如何在 MATLAB 中显
  • 在matlab中绘制给定区域内(两个圆之间)的向量场

    我想在 Matlab 中绘制下面的向量场 u cos x x 0 y y 0 v sin x x 0 y y 0 我可以在网格中轻松完成 例如 x 和 y 方向从 2 到 2 x 0 2 y 0 1 x y meshgrid 2 0 2 2
  • Matlab dec2bin 给出错误的值

    我正在使用 Matlab 的 dec2bin 将十进制数转换为二进制字符串 但是 我得到了错误的结果 例如 gt gt dec2bin 13339262925365424727 ans 101110010001111010010100111
  • 正确使用 fft2 和 fftshift 进行着色形状

    我正在尝试从 Trucco Verri 文本 3d 计算机视觉入门技术 中看到的着色算法重新创建经典形状 但我很难理解 matlab 中的 fft 函数 本质上 我需要使用可积性约束来获取图像的深度 Z 我不确定在这种情况下何时使用 fft
  • 从动态 Java 类路径导入 Java 类时出现 Matlab 编译器 MCC 错误

    我怎样才能得到mcc识别来自用户提供的 Java 库的导入 还是简单地忽略无法解析的导入 我有一个使用 Matlab 编译器构建的 Matlab 代码库 但构建正在中断 因为mcc遇到的时候会报错importMatlab 动态类路径上的 J

随机推荐

  • MyBatis笔记(2):CRUD操作及配置解析/狂神说

    目录 0 写在前面 1 Select 1 1 需求 根据id查询用户 1 2 课堂练习 根据 密码 和 名字 查询用户 2 insert 3 Update 4 delete 5 模糊查询like语句该怎么写 6 配置解析 6 1 envir
  • django报错 No module named 'MySQLdb'

    环境 anaconda3 python3 7 django2 2 mysql5 7 在运行python manage py makemigrations appxxx时报错 No module named MySQLdb 网上有方案说改源码
  • Java压缩包制作遗留问题解决

    本文衔接上篇JDK压缩包制作环境配置 在环境配置好后 在DOS命令窗口会发现Java依旧无法运行 提示安装没成功 报错 Error occurred during initialization of VM java lang NoClass
  • 什么是集线器

    集线器 英文名又称Hub 在OSI模型中属于数据链路层 价格便宜是它最大的优势 但由于集线器属于共享型设备 导致了在繁重的网络中 效率变得十分低下 所以我们在中 大型的网络中看不到集线器的身影 如今的集线器普遍采用全双工模式 市场上常见的集
  • 哄女朋友玩的c语言编程,哄女朋友开心的小套路 逗女朋友开心的话套路

    不会玩小编为大家收集整理了哄女朋友开心的小套路 以及逗女朋友开心的话套路如果觉得不错就请收藏一下 下面咱们一起来看一下吧 1 你属什么 虎 不 你属于我 2 想让你爸妈开心吗 想啊 想就带我回家 3 我觉得所有的门都应该让你敲 为什么这么说
  • 通过配置浏览器方式解决跨域问题

    复制桌面上的谷歌浏览器快捷方式 名称改为 Google Debug 浏览器快捷图标 鼠标右键 属性 目标项的最后面 空格 然后加入下面配置 user data dir c ChromeDebug test type disable web
  • java接口回调

    接口回调 我们可以先定义一个接口 比如接口叫usb 然后再定义接口的实现者 如U盘 鼠标 风扇 接口的使用者 如电脑 测试类 Java是一门面向对象语言 一切皆对象 因此在Java中不存在回调函数这一说法的 由于Java的一切皆对象性质 从
  • FPGA时钟电路PCBlayout设计原则

    1 时钟晶振源应该尽可能放在与其连接的FPGA时钟专用引脚的临近位置 2 时钟线尽可能走直线 如果无法避免转弯走线 则使用45度线 尽量避免T型走线和直角走线 3 不要同时在多个信号层走时钟线 4 时钟走线不要使用过孔 因为过孔会导致阻抗变
  • 前端web3入门脚本二:初探dex,在dex完成一笔swap

    前言 现在市面上大多数去中心化交易所 简称dex 都是fork的uniswap的代码 名气比较大的如eth上的sushi 以及 bsc上的pancake 博主这里说的都是V2 uniswapV3在这里不做讨论 那么知道了他们的代码都是来自同
  • 出租车GPS数据处理

    提取出租车订单的OD 从大量的GPS信息中提取出每个出租车订单的起点和终点 数据是出租车GPS的散点时空数据 散点时间间隔大概在15s 取决于GPS的采样频率 因此要提取出乘客出行的OD信息 首先要定义乘客的上车时点 下车时点选取标准 然后
  • JAVA学习之路以及第一次项目实战心得

    JAVA学习之路以及第一次项目实战心得 前言 今天是2023年4月24日 突发奇想想写一篇学习心得 因为以前光顾着一直赶进度学习java 没有总结 也就不知道自己的哪些地方还有缺陷 还需要提高 如何接触到java和学习过程 我是在2021年
  • 江苏省人力资源社会保障厅 省职称办 关于做好2021年度职称评审工作的通知

    各设区市人力资源社会保障局 昆山市 泰兴市 沭阳县人力资源和社会保障局 省各有关厅局人事 职称 部门 各有关企事业单位 社会组织 根据中央和省关于深化职称制度和人才评价机制改革精神 按照 职称评审管理暂行规定 人力资源和社会保障部令第40号
  • uniapp使用中出现的问题

    1 真机调试时 运行到手机 手机显示 本应用无法独立运行 需与HBuilderX搭配使用 我这里是window系统电脑连接到安卓手机 如下图 以上两个图片分别是手机和电脑显示的信息 手机和电脑就一直这样显示 就没然后了 处理方法 升级最新H
  • HTTPS 原理详解

    转自 https baijiahao baidu com s id 1570143475599137 wfr spider for pc 前言 HTTPS 全称 HyperText Transfer Protocol over Secure
  • 计算机中cat是什么命令,cat(操作系统命令)_百度百科

    本词条缺少概述图 补充相关内容使词条更完整 还能快速升级 赶紧来编辑吧 cat是操作系统命令的名称 cat命令在Unix和类Unix系统中是英语单词concatenate 意思都是连接 的缩写 作用是显示或连接多个文本文件 在Apple P
  • 无向图

    概念轰炸 图是由一组顶点和一组能够将两个顶点连接的边组成的 x y表示x到y的一条边 一条连接一个顶点和其自身的边称为自环 连接同一对顶点的两条边称为平行边 含有平行边的图称为多重图 某个顶点的度数即为依附于它的边的总数 当两个顶点通过一条
  • python之调用ffmepg实现mp3比特率修改

    效果 D python projects python learning python aduio gt ffmpeg i WELBOX mp3 b a 32k WELBOX 1 mp3 ffmpeg version 4 3 1 2020
  • 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间

    把一个字符串的大写字母放到字符串的后面 各个字符的相对位置不变 不能申请额外的空间 题目以及要求 把一个字符串的大写字母放到字符串的后面 各个字符的相对位置不变 不能申请额外的空间 我的实现类似冒泡排序 代码为 include
  • nginx配置图片访问路径:root和alias

    图片所在路径 www wwwroot images aaa 1 jpg 访问路径 www images mbox58 com images aaa 1 jpg 使用root location images root www wwwroot
  • 控制器分析-绘制伯德图

    控制器分析 绘制伯德图 设计控制器 需要利用伯德图工具分析控制器的相频特性与幅频特性 本文提供了两种绘制伯德图的方法 第一种是利用MATLAB内置的函数绘制 第二种是自己编写的代码 由于最开始第一种方法获得的图片属性不满意 如坐标轴字体大小