如何绘制变参数根轨迹(针对复杂情况,无法分离出开环增益k*时)
最近阅读论文遇到了一个很棘手的问题,如何绘制变参数根轨迹方程,下面通过合工大博士论文来进行分析:
问题
给出闭环特征方程,只有J在0.5-8之间变化,其余的参数都是常量,论文中已经给出,下面就是要绘制当J变化时系统的根轨迹曲线,以此来表征系统在参数变化时的稳定性。
分析
传统方式:
通过化简,整成1+J*G(S)=0,这是自控说的。绘制等效开环的根轨迹,限制一下开环增益J,就能够得到闭环的根轨迹。**但是!**你会发现开环增益并不是单纯的J,算式太复杂,无法正常分离!
本质出发:
咱们的任务就是求解当J在一个范围内变化时闭环的根轨迹。说白了,就是求解特征方程在某一参数下的根!!
有了这个思路,利用solve求解数学方程函数,提取出方程的解,利用scatter(real(x),imag(x))绘制特征根的散点图,这就是在J参数聂动时闭环的根轨迹!
代码块
%合工大石荣亮博士论文
%J变化时参数根轨迹
clear all;
clc;
syms s; %syms用于定义未知的变量
U=220;E=220;
theta=0.02;
X=0.1;W0=314;D=2;
m=3.1e-5;n=7.1e-5;
kpe=U*theta/X;
kpd=E*U/X;
kqe=(2*E-U)/X;
kqd=U*E/X;
for J=0.5:0.1:8
a=(2+n*kqe)*(D*W0+1/m)/(J*W0);
b=kpd/(J*W0)+(n*kqe+1)*(D*W0+1/m)^2/(J*W0)^2;
c=(kpd+n*kqe*kpd-n*kpe*kqd)*(D*W0+1/m)/(J*W0)^2;
x=solve(s^3+a*s^2+b*s+c,s); %求解出的s是一个关于J的函数
y=vpa(x,2); %对求解的结果保留两位小数
e=y(1);f=y(2);g=y(3); %取出计算的结果
scatter(real(e),imag(e),'rx');%画出散点图
hold on;
scatter(real(f),imag(f),'b');
scatter(real(g),imag(g),'k');
hold on;
grid on;
end
title('J变化时参数根轨迹');
xlabel('实部:Re');
ylabel('虚部:Im');
axis([-60,0,-15,15]);
结果
可以看出,该方法能够实现参数聂动时无法分离k*的根轨迹绘制!
最后
MATLAB菜鸟一枚,代码还有较大的提升空间,欢迎大家与我交流讨论!
如何绘制变参数根轨迹(针对复杂情况,无法分离出开环增益k*时)相关推荐
- 方程的根的个数C语言xtu_零度根轨迹的绘制及情况讨论、以及参数根轨迹的原理介绍...
零度根轨迹怎样绘制呢? 初学的时候,零度根轨迹这里不太理解,还有后续讲解的参数根轨迹,考研的时候认真学习了自动控制原理,对这个思考比较深一些,整理一下几种情况,希望能对后来学自控的同学们提供一些帮助. ...
- 如何用matlab绘制180°根轨迹、参数根轨迹
一.180°根轨迹 已知单位(负)反馈系统开环传递函数: 试画出以k为参数变量的系统根轨迹图 代码: sys = tf([1 3],[1 7 0 0]);%其中数字分别对应传递函数分子与分母多项式中各 ...
- 在Matlab中绘制系统的根轨迹图
在Matlab中绘制系统的根轨迹图 例如某系统的开环传递函数为: 通过上面的开环传递函数可以直接求出2个开环共轭复零点,以及5个开环极点,然后确定根轨迹分支数-自己画根轨迹图的话还是比较麻烦的,这么简 ...
- matlab绘制系统的根轨迹
在绘制根轨迹时,我们要明确以下两点: ①在时域分析中:控制系统稳定的充要条件是***闭环极点***在S平面左半部,由此可见控制系统的稳定性完全由闭环极点在s平面上的位置所决定.那么得到系统的闭环极点十 ...
- 【Matlab】根据传递函数绘制离散系统的根轨迹
文章目录 1. 根据离散系统传递函数绘制离散根轨迹 2. 设计控制器校正根轨迹 1. 根据离散系统传递函数绘制离散根轨迹 num1 = [0 0.005 0.004]; % 分子系数 den1 = [ ...
- 自动控制原理->根轨迹
根轨迹 习题自测 根轨迹基本概念 判断题 根轨迹的绘制方法 判断题 计算题 基于根轨迹的控制系统分析设计 判断题 根轨迹 根轨迹的基本概念 根轨迹方程和约束条件 根轨迹的绘制方法 根轨迹的分支数(开环 ...
- 根轨迹分析 matlab,MATLAB的根轨迹分析
<MATLAB的根轨迹分析>由会员分享,可在线阅读,更多相关<MATLAB的根轨迹分析(5页珍藏版)>请在人人文库网上搜索. 1.基于MATLAB的根轨迹分析1 实验目的:1. ...
- matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹
<实验五 利用MATLAB绘制系统根轨迹>由会员分享,可在线阅读,更多相关<实验五 利用MATLAB绘制系统根轨迹(6页珍藏版)>请在人人文库网上搜索. 1.实验五 利用MAT ...
- matlab求系统根轨迹代码_根轨迹法、PID参数整定和matlab指令计算
收获 (1)理解根轨迹的概念及其在控制系统设计中的作用: (2)手绘根轨迹草图,以及如何使用极端及绘制根轨迹: (3)熟悉在反馈控制系统中应用广泛的关键部件:PID控制器: (4)理解根轨迹在参数设计 ...
- matlab怎么找出奇数个数_用MATLAB绘制系统根轨迹和性能分析
用MATLAB绘制系统根轨迹和性能分析 一.练习目的 熟悉MATLAB用于控制系统中的一些基本编程语句和格式. 利用MATLAB语句绘制系统的根轨迹. 掌握用根轨迹分析系统性能的图解方法. 掌握系统参 ...
最新文章
- Oracle其他函数
- 循环神经网络教程3-BP算法和梯度消失问题, Part 3 – Backpropagation Through Time and Vanishing Gradients
- 多网卡下如何配置指定IP走某个路由器(适用于外网不通,但是钉钉服务器通的情况)...
- troubleshoot之:使用JFR解决内存泄露
- 安卓APP_ 控件(4)—— ImageView
- ioc spring 上机案例_通过实例解析Spring Ioc项目实现过程
- linux 查看下挂磁盘,linux下磁盘挂载与查看
- c语言之动态分配空间
- Photoshop CC 2019多边形形的抠图
- easyui181版本使用记录
- c语言规定棋盘大小的,求数据结构C语言大神们解释下马踏棋盘程序
- 【blog】用emoji-java解决Emoji存储MySQL乱码问题
- npm 常见用法小结
- 【2022美赛F奖】B题:水电共享
- 计算机组成原理统一试卷,安阳工学院计算机组成原理试卷a
- [搜片神器]直接从DHT网络下载BT种子的方法
- 水晶报表自定义函数进行代码重用 -日期大写
- 制作辣条视频教程+配方
- IOS开发之相机、相册页面英文问题
- 通过仿淘宝静态网页我的总结
热门文章
- 算法岗和开发岗有什么区别?
- 正常图片转灰色图片——灰度图
- NoClassDefFoundError: Could not initialize class org.apache.kafka.common.record.Compressio
- 微信公众平台接入广告投放系统
- axure树形表格_excel树状图怎么做
- [放遗忘]PR进行视频剪辑的两种办法
- 利用selenium实现中国裁判文书网自动登录批量下载功能
- mysql查询特定时间段内的数据_mysql查询特定时间段内的数据
- 悉尼大学计算机科学硕士专业,悉尼大学计算机硕士
- PHP 获取YouTube视频相关信息(Youtube Api v3)