MATLAB之Nyquist图和Bode图
一、拉氏变换
matlab自带工具:拉氏变换(laplace)
例laplace(f)返回f的拉普拉斯变换。 默认情况下,自变量是t,变换变量是s。
例laplace(f,transVar)使用转换变量transVar而不是s(自定义变换变量)。
例laplace(f,var,transVar)使用自变量var和变换变量transVar分别代替t和s。
%% 拉式变换
clc
clear
syms s t
y=exp(-t)*cos(t); %原函数
LY=laplace(y) %拉氏变换
L_1=ilaplace(LY) %拉氏逆变换
e=L_1-y %做差检查结果是否正确
subplot(1,2,1)
fplot(y);%原函数图像
title("原函数图像")
legend("原函数")
subplot(1,2,2)
fplot(LY)%象函数图像
title("象函数图像")
legend("象函数")clc
clear
syms w s c
F=w^2/(s*(s+c*w)^2);
f=ilaplace(F);
simplify(f);
二、传递函数模型
%% 传递函数模型实例
%例一
%G(s)=(12*s+15)/(s^3+16*s^2+64*s+192)
num=[12 15];
den=[1 16 64 192];
G=tf(num,den)
nyquist(G)
%例二
%G(s)=10*(2*s+1)/s^2*(s^2+7*s+13)
%方式1
num=conv(10,[2,1]);%计算分子多项式
den=conv([1 0 0],[1 7 13]);%计算分母多项式
G=tf(num,den)%求系统传递函数
%方式2
s=tf('s') %定义laplace算子
G=10*(2*s+1)/s^2/(s^2+7*s+13)% 直接给出系统传递函数表达式
%% 零极点增益模型
%G(s)=4*(s+5)^2/(s+1)(s+2)(s+2+2*j)(s+2-2*j)
%方式1:
z1=[-5;-5];
p1=[-1;-2;-2-2*j;-2+2*j];
k=4;
G1=zpk(z1,p1,k)
%方式2:
%G(s)=3*s^2+2*s+8/(s^4+3*s^3+8*s^2+4*s+2)
num=[3 2 8];
den=[1 3 8 4 2];
G=tf(num,den)
G1=zpk(G);%化为零极点增益形式
z=roots(num) %将G1零点存入z
p=roots(den) %将G1极点点存入p
pzmap(G1); %绘制零极点图
grid on %打开绘图网络
三、nyquist和bode图
%% nyquist 和 bode 图
clc
clear
s=tf('s');
G=16/((s+6)*(s-1)); %系统开环传递函数
figure(1)
subplot(3,2,1)
nyquist(G)
title("系统开环传递函数nyquist图")
subplot(3,2,2)
bode(G)
title("系统开环传递函数bode图")Gk=G/(1+G); %系统闭环传递函数
subplot(3,2,3)
nyquist(Gk)
title("系统闭环传递函数nyquist图")
subplot(3,2,4)
bode(Gk)
title("系统闭环传递函数bode图")Y1=Gk/s%单位阶跃响应
subplot(3,2,[5 6])
nyquist(Y1)
title("单位阶跃响应(增加开环极点P=2)")
% [h,r,wg,wc]=margin(G) %求系统的频率特性参数
%h幅值裕量
%相角裕量
%wg幅值穿越频率
%相位穿越频率
figure(2)
G1=16/((s+6)*(s-1)*(s-2)); %增加开环极点P=2
subplot(3,2,1)
nyquist(G1)
title("系统开环传递函数nyquist图(增加开环极点P=2)")
subplot(3,2,2)
bode(G1)
title("系统开环传递函数bode图")Gb=G1/(1+G1); %系统闭环传递函数
subplot(3,2,3)
nyquist(Gb)
title("系统闭环传递函数nyquist图(增加开环极点P=2)")
subplot(3,2,4)
bode(Gb)
title("系统闭环传递函数bode图")Y=Gb/s%单位阶跃响应
subplot(3,2,[5 6])
nyquist(Y)
title("单位阶跃响应(增加开环极点P=2)")
运行结果
MATLAB之Nyquist图和Bode图相关推荐
- Matlab中用Simulink快速画Bode图及 .m 文件画Bode图
Matlab中用Simulink快速画Bode图及 .m 文件画Bode图 Simulink画Bode图 .m 文件画Bode图 Simulink画Bode图 一万年没用matlab画过Bode图了, ...
- 自控原理学习笔记-反馈控制系统的动态模型(4)-频率特性函数Nyquist图及Bode图
自控原理学习笔记 自控原理学习笔记专栏 文章目录 1.频率特性函数 1.1 图形表示方法: 1.2 零极点位置和暂态增益图 1.2.1 复轨迹曲线 1.2.3 例子 1.3 计算系统响应 2.开环频率 ...
- 根据传函求频率响应、根据实验的频率响应求传函、Nyquist图、bode图
所谓频率响应,就是观察一个系统对不同频率的正弦波的响应,我们给系统输入一个幅值为1.频率为ω.相位为0的正弦波以后 u(t)=sin(ωt+0) 系统也会输出一个正弦波,只是这个正弦波的幅值A.相位φ ...
- MATLAB Linear Analysis Tool 的bode图数据获取
版本:MATLAB 2018b 问题描述:MATLAB/Simulink的Linear Analysis Tool 功能很强大,可以用其做小信号分析,获得的bode图的数据很难获取,在此总结了如何获取 ...
- 根轨迹图、Bode图、Nyquist图的Matlab仿真
根轨迹 根据输入的传递函数绘制根轨迹 在图上标出任意一点即能找到其他闭环极点并算出K 根据输入的Kg找出闭环极点 num=[1 1];%华工课本P186 den=[1 3 12 -16 0]; axi ...
- 伯德图 matlab,matlab画三维伯德图,bode图
做了一个简单的小例子,有什么疑惑可以留言. clc clear close all %% 初始化 R_Sta=1; %R的起始,结束范围以及间隔 R_end=10; Nap_R=1; % 数组初始化 ...
- Matlab中的c2d函数用法以及绘制传函的Bode图
1.c2d()函数的用法 c2d()函数的作用是将s域的表达式转化成z域的表达式,s=0对应z=1. c2d()函数转化的方法有多种: ①zoh, 零阶保持器法,又称阶跃响应不变法: ②foh ,一阶 ...
- bode函数_频响函数及其bode图nyquist图
点击关注,必有收获! 频响函数及其bode图nyquist图 由振动理论可知,如图所示单自由度粘性阻尼系统,系统运动的微分方程为mx''+rx'+kx=F. 对上式两边进行拉普拉斯变换,并假设初始速度 ...
- 使用python-control库实现MATLAB自动控制原理常用函数:Bode图 Nyquist图 根轨迹
最近在学习自动控制原理,电脑装的windows/ubuntu双系统,matlab安装在windows上,日常用ubuntu,写作业切换系统过于繁琐,因此想要找到python中可以替换MATLAB Co ...
最新文章
- EOS技术及生态系统介绍
- 您如何在PHP中解析和处理HTML / XML?
- 安卓音频输出采样率_只有AirPods配有姓名吗?安卓的这些无线耳机也不错
- 云服务器安装虚拟机方法,云服务器安装虚拟机方法
- 【若依(ruoyi)】自定义的数据选择对话框
- MQ事务消息实现方案
- Oracle rman备份和还原恢复数据库
- 动态规划:树形DP-景点中心(树的带权重心)
- 智能巡检告警配置实践
- Java——标准异常
- 苹果电脑如何修改环境变量
- android 第三方裁剪,Android裁剪意向不适用于系统图库应用程序,但适用于第三方应用程序...
- Bailian4129 变换的迷宫【BFS】
- Python入门--代码调式
- Windows核心编程_静态编译和动态编译的区别
- 深度解析copy与strong的区别
- 662X芯片,662X三极管,贴片3.3V稳压IC规格书
- 2015-2016 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2015) Adjoin the Networks (树的直径)
- SecureCRT连接开发板
- 常见波形的傅里叶级数展开式