我是靠谱客的博主 霸气金毛,这篇文章主要介绍控制器分析-绘制伯德图控制器分析-绘制伯德图软件背景,现在分享给大家,希望可以做个参考。

控制器分析-绘制伯德图

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

软件背景

  • MATLAB 2021a

方法一

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

复制代码
1
2
3
4
5
6
7
clear,clc; figure a = 1; H = tf([0 a],[1 a]); bode(H) grid on

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

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

方法二

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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');

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

最后

以上就是霸气金毛最近收集整理的关于控制器分析-绘制伯德图控制器分析-绘制伯德图软件背景的全部内容,更多相关控制器分析-绘制伯德图控制器分析-绘制伯德图软件背景内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部