matlab怎么找出奇数个数_用MATLAB绘制系统根轨迹和性能分析
用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绘制系统根轨迹和性能分析相关推荐
- matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹
<实验五 利用MATLAB绘制系统根轨迹>由会员分享,可在线阅读,更多相关<实验五 利用MATLAB绘制系统根轨迹(6页珍藏版)>请在人人文库网上搜索. 1.实验五 利用MAT ...
- 如何用matlab绘制180°根轨迹、参数根轨迹
一.180°根轨迹 已知单位(负)反馈系统开环传递函数: 试画出以k为参数变量的系统根轨迹图 代码: sys = tf([1 3],[1 7 0 0]);%其中数字分别对应传递函数分子与分母多项式中各 ...
- c++如何输入数组_从一个数组中找出 N 个数,其和为 M 的所有可能最 nice 的解法...
编者按:本文由前端狂想录公众号授权奇舞周刊转载. 故事的背景 这是一个呆萌炫酷吊炸天的前端算法题,曾经乃至现在也是叱咤风云在各个面试场景中. 可以这样说,有 90% 以上的前端工程师不会做这个题目. ...
- matlab求系统根轨迹代码_要想正确画出根轨迹,先搞清楚这8大法则再说!
话说宝刀君这几年给学弟学妹们辅导自控时,学弟学妹们面对根轨迹,经常是一脸懵逼. 常常是拿到题后,零极点都标出来了,法则也写出来了,但就是根轨迹画不出来. 有时好不容易画出来了,返回去和法则一对照,忍不 ...
- 从一个数组中找出 N 个数,其和为 M 的所有可能--最 nice 的解法
比起讨论已经存在的大牛,我们更希望有更多有潜力的前端小伙伴成为大牛,只有这样,前端在未来才能够持续不断的发光发热. 故事的背景 这是一个呆萌炫酷吊炸天的前端算法题,曾经乃至现在也是叱咤风云在各个面试场 ...
- 改进,从一个数组中找出 N 个数,其和为 M 的所有可能
特此说明,本文算法改自于<从一个数组中找出 N 个数,其和为 M 的所有可能--最 nice 的解法>一文.本文不同的是,采用二进制正序表示法,这种实现思路更直观.更简单些. 问题 从一个 ...
- 有史以来的第一个脚本 找出三个数的最大数字
其实老师后来上课的时候我才知道只是要找出三个数中最大的一个,而我当时却本着从小到大排列的思想去写脚本了,也由于是第一次写脚本所以也费了好长的时间. 刚开始看到这个题目的时候觉得很简单,这一贯是我眼高手 ...
- leetcode 1: 找出两个数相加等于给定数 two sum
问题描述 对于一个给定的数组,找出2个数,它们满足2个数的和等于一个特定的数,返回这两个数的索引.(从1开始) Given an array of integers, find two numbers ...
- 在数组中找出3个数使得它们和为0
题目: 给定一个集合S,试找出3个数a, b, c,使得a+b+c=0.也即从集合中找出所有的和为0的3个数. 例如:集合S={-1,0, 1, 2, -1, 4},则满足条件的3个数有2对:(-1, ...
最新文章
- Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结
- C语言(CED)排序算法总结。比较完整和详细
- ctype函数_PHP ctype_cntrl()函数与示例
- MySQL执行计划extra中的using index 和 using where using index 的区别
- Linux如何切换图形界面和命令行界面
- 10-08 长假结束
- python3之线程
- c# 执行js方法
- atitit 点播系统 概览 v2 qb1.docx
- 通过console口连接AC控制器,修改WiFi密码
- 解读机器人编程入门指南
- C++ increment/decrement/dereference 操作符典型写法
- 关于 Kubernetes中NetworkPolicy(网络策略)方面的一些笔记
- learning model 的演讲【转载】
- 声音四要素:音强、音调、音色和波形包络
- Python热门单元测试框架对比:pytest和unittest还傻傻分不清楚?
- 【随堂笔记】数据结构基础
- Java面试锦囊(五)
- 一看就会的Redist数据持久化之AOP
- 使用命令行工具,如何创建nicelooking DMG的Mac OS X?
热门文章
- 代码理解(2009.11.20)
- 自动运维化tools篇1:用expect完成用户密码的批量修改
- 解决方案-vector初始化后存放Mat,出现Mat矩阵数据同变问题
- matlab有限体积网格,用Matlab实现简单有限体积求解器
- Android程序暂停sh,init进程 解析Android启动脚本init.rc 修改它使不启动android init.rc中启动一个sh文件...
- 计算机学院嘉年华标题,我院计算机系举办计算机嘉年华系列活动
- 守护进程: supervisor使用
- j剑指offer面试题[33]-把数组排成最小的数
- dhcp服务器分配指定ip,DHCP服务(自动分配IP、绑定固定IP)
- 人名和成绩一起排序_excel中怎么让人名和他的成绩一起排序