用MATLAB绘制系统根轨迹和性能分析

一、练习目的

熟悉MATLAB用于控制系统中的一些基本编程语句和格式。

利用MATLAB语句绘制系统的根轨迹。

掌握用根轨迹分析系统性能的图解方法。

掌握系统参数变化对特征根位置的影响。

二、练习内容

1、单位负反馈系统的开环传递函数为

,试求:(1)系统的根轨迹;(2)系统稳定的K的范围;(3)K=N/100时闭环系统阶跃响应曲线 (N=135)

2、系统的开环传递函数为,用rlocfind函数找出能产生主导极点阻尼=0.707的合适增益。(N同上)

四、结果

1.

(1)(2)程序代码如下

num=[1 5 6]; %系统传递函数分子den=[1 8 3 25]; %系统传递函数分母G=tf(num,den); %原系统开环传递函数K=0:0.05:200; %给定K的范围rlocus(G) %绘制系统的根轨迹 pause(K)[K,POLES]=rlocfind(G) %用于选取临界稳定值

根轨迹图如下

K的范围(0<=K<=4)

(3)程序代码如下

clear;num=[1 5 6]; %系统传递函数分子den=[1 8 3 25]; %系统传递函数分母G=tf(num,den); %原系统开环传递函数 rlocus(G) %绘制系统的根轨迹 figure(2) %开一新窗口K=135/100; %K=0.35t=0:0.05:10; %给定时间范围G0=feedback(tf(K*num,den),1); %得到闭环系统传递函数step(G0) %得到闭环系统的阶跃响应gtext('K=1.35'); %放置说明文字 135/100根轨迹与虚轴有交点,所以在K从零到无穷变化时,系统的稳定性会发生变化,可知系统稳定时K范围大概是(0<=K<=4)之间。

分析根轨迹的绘制规则

由以上根轨迹图知, 根轨迹起于开环极点, 终于开环零点。 在复平面上标出系统的开环 零极点后 ,可以根据其零极点数之和是否为奇数确定其在实轴上的分布。根轨迹的分支数等 于开环传递函数分子分母中的最高阶次 ,根轨迹在复平面上是连续且关于实轴对称的。当开 环传递函数的分子阶次高于分母阶次时 ,根轨迹有 n-m 条沿着其渐近线趋于无穷远处。根轨 迹位于实轴上两个相邻的开环极点或者相邻零点之间存在分离点 ,两条根轨迹分支在复平面 上相遇在分离点以某一分离角分开 ,不在实轴上的部分 ,根轨迹以起始角离开开环复极点 ,以 终止角进入开环复零点。有的根轨迹随着 K 的变化会与虚轴有交点。在画图时 ,确定了以上 的各个参数或者特殊点后 ,就可得系统的根轨迹概略图

根轨迹和阶跃信号 如下图所示

根轨迹图形

阶跃信号图形

2.

程序代码如下

num=1.35; % N=135/100 den=conv([1 1 0],[1 2]); %系统传递函数分母G=tf(num,den);zet=[0.1:0.2:1];wn=[1:10];sgrid('new'); %清屏sgrid(zet,wn); %绘制由用户指定的阻尼比矢量z、自然振荡频率wn的格线 hold on;rlocus(G)[K,r]=rlocfind(G)

主导极点阻尼=0.707的合适增益产生的图形

K=1.46 将使得整个系统的阻尼比接近 0.707 ,主导极点的结果与实际系统的闭环响应非常 接。

matlab怎么找出奇数个数_用MATLAB绘制系统根轨迹和性能分析相关推荐

  1. matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹

    <实验五 利用MATLAB绘制系统根轨迹>由会员分享,可在线阅读,更多相关<实验五 利用MATLAB绘制系统根轨迹(6页珍藏版)>请在人人文库网上搜索. 1.实验五 利用MAT ...

  2. 如何用matlab绘制180°根轨迹、参数根轨迹

    一.180°根轨迹 已知单位(负)反馈系统开环传递函数: 试画出以k为参数变量的系统根轨迹图 代码: sys = tf([1 3],[1 7 0 0]);%其中数字分别对应传递函数分子与分母多项式中各 ...

  3. c++如何输入数组_从一个数组中找出 N 个数,其和为 M 的所有可能最 nice 的解法...

    编者按:本文由前端狂想录公众号授权奇舞周刊转载. 故事的背景 这是一个呆萌炫酷吊炸天的前端算法题,曾经乃至现在也是叱咤风云在各个面试场景中. 可以这样说,有 90% 以上的前端工程师不会做这个题目. ...

  4. matlab求系统根轨迹代码_要想正确画出根轨迹,先搞清楚这8大法则再说!

    话说宝刀君这几年给学弟学妹们辅导自控时,学弟学妹们面对根轨迹,经常是一脸懵逼. 常常是拿到题后,零极点都标出来了,法则也写出来了,但就是根轨迹画不出来. 有时好不容易画出来了,返回去和法则一对照,忍不 ...

  5. 从一个数组中找出 N 个数,其和为 M 的所有可能--最 nice 的解法

    比起讨论已经存在的大牛,我们更希望有更多有潜力的前端小伙伴成为大牛,只有这样,前端在未来才能够持续不断的发光发热. 故事的背景 这是一个呆萌炫酷吊炸天的前端算法题,曾经乃至现在也是叱咤风云在各个面试场 ...

  6. 改进,从一个数组中找出 N 个数,其和为 M 的所有可能

    特此说明,本文算法改自于<从一个数组中找出 N 个数,其和为 M 的所有可能--最 nice 的解法>一文.本文不同的是,采用二进制正序表示法,这种实现思路更直观.更简单些. 问题 从一个 ...

  7. 有史以来的第一个脚本 找出三个数的最大数字

    其实老师后来上课的时候我才知道只是要找出三个数中最大的一个,而我当时却本着从小到大排列的思想去写脚本了,也由于是第一次写脚本所以也费了好长的时间. 刚开始看到这个题目的时候觉得很简单,这一贯是我眼高手 ...

  8. leetcode 1: 找出两个数相加等于给定数 two sum

    问题描述 对于一个给定的数组,找出2个数,它们满足2个数的和等于一个特定的数,返回这两个数的索引.(从1开始) Given an array of integers, find two numbers ...

  9. 在数组中找出3个数使得它们和为0

    题目: 给定一个集合S,试找出3个数a, b, c,使得a+b+c=0.也即从集合中找出所有的和为0的3个数. 例如:集合S={-1,0, 1, 2, -1, 4},则满足条件的3个数有2对:(-1, ...

最新文章

  1. Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结
  2. C语言(CED)排序算法总结。比较完整和详细
  3. ctype函数_PHP ctype_cntrl()函数与示例
  4. MySQL执行计划extra中的using index 和 using where using index 的区别
  5. Linux如何切换图形界面和命令行界面
  6. 10-08 长假结束
  7. python3之线程
  8. c# 执行js方法
  9. atitit 点播系统 概览 v2 qb1.docx
  10. 通过console口连接AC控制器,修改WiFi密码
  11. 解读机器人编程入门指南
  12. C++ increment/decrement/dereference 操作符典型写法
  13. 关于 Kubernetes中NetworkPolicy(网络策略)方面的一些笔记
  14. learning model 的演讲【转载】
  15. 声音四要素:音强、音调、音色和波形包络
  16. Python热门单元测试框架对比:pytest和unittest还傻傻分不清楚?
  17. 【随堂笔记】数据结构基础
  18. Java面试锦囊(五)
  19. 一看就会的Redist数据持久化之AOP
  20. 使用命令行工具,如何创建nicelooking DMG的Mac OS X?

热门文章

  1. 代码理解(2009.11.20)
  2. 自动运维化tools篇1:用expect完成用户密码的批量修改
  3. 解决方案-vector初始化后存放Mat,出现Mat矩阵数据同变问题
  4. matlab有限体积网格,用Matlab实现简单有限体积求解器
  5. Android程序暂停sh,init进程 解析Android启动脚本init.rc 修改它使不启动android init.rc中启动一个sh文件...
  6. 计算机学院嘉年华标题,我院计算机系举办计算机嘉年华系列活动
  7. 守护进程: supervisor使用
  8. j剑指offer面试题[33]-把数组排成最小的数
  9. dhcp服务器分配指定ip,DHCP服务(自动分配IP、绑定固定IP)
  10. 人名和成绩一起排序_excel中怎么让人名和他的成绩一起排序